1. 服务器如何获取客户端的IP地址,并与客户端建立TCP连接
客户端的IP自动获取,关键要看客户端的IP是由谁来分配的,如果都是有ISP提供的那么服务器利用IP去连接客户端就不太可能。可以尝试用下面两种思路解决:
1、能否让客户机主动连接服务器。
2、使用动态DNS。让每个客户机都申请一个动态域名,无论它的IP怎样变,当改变以后都会到DNS服务器进行注册,然后服务器使用主机的名字访问客户端。
2. linux建立TCP服务器后,TCP客户端与服务器连接成功后,怎样获取客户端的MAC地址
我认为你是从 socket中取不到这部分的信息的.
你得再操作 arp的缓存部分才行. ARP那部分如果在特殊情况,很乱套.比如有攻击或是IP地址设置有冲突啥地.
---
详细的C语言怎么操作ARP缓存我不太清楚. 但你如果想知道.就得查一下这部分怎么做了.
高层的socket操作是得不到的.
只有直连网段的计算机有MAC地址信息.经过路由来的数据包.取不到.