Socket clientSock = ServerSocketAccpet();
接受客户端连接
DateTime connectTime = DateTimeNow;
连接一个客户端后,当前时间就是连接时间。
(clientSockRemoteEndPoint as IPEndPoint)IPAddress;
ip地址
(clientSockRemoteEndPoint as IPEndPoint)Port;
端口号
TcpListener是个监听者,不是TcpClient,listener没有对端。
listener监听过程中,如果有客户端进行连接,listener通过Accept来接收连接,accept成功后,会产生一个TcpClient用于和客户端通信,listener则继续监听。TcpClient因为和对端通信,所以可以通过它获得对方IP(方法自行百度)。
1、首先双击右下角任务中的“双电脑”图标,在d出的窗口中,点击“属性”。
2、或者,依次点击“开始菜单”——“控制面板”——“网络连接”,右击“本地连接”,d出菜单中选择“属性”。
3、在打开的属性窗口中,找到“TCP/IP(V4)”的选项,然后双击该选项。
4、在新打开的窗口中,如果你电脑所有的网络中,路由器开始了DHCP(动态主机设置协议)服务或有专门的DHCP服务器,那么可以选择“自动获取IP地址”即可。
5、反之,选择“使用以下的IP地址”选项,使用手动设置IP。
你是想知道代码还是想了解原理,一般的C/S模型都由客户端发出连接请求(客户端在代码中都是存有服务器端的具体ip地址和端口信息(也就是服务器端的INET协议族地址结构)的),当客户端发送连接请求后,服务器端通过accpet函数接收连接请求,accpet函数示例:accept(ServerSocket,(struct sockaddr )&from,&len) (from是一个INET协议族地址结构变量,(struct sockaddr )的作用是把INET协议族地址结构强制转换为通用地址结构) ,accpet函数在接收连接的同时会把客户端的具体ip和端口信息赋值给from,所以说客户端socket连接的ip(非绑定的话客户机随机绑定ip和端口)是包含在连接报文数据里,服务器端只有接收到客户端发送的连接信息后,才会获得客户端的ip和端口信息,获得具体ip的方式是通过函数,这个函数可以提取出IPv4地址结构中的点分十进制地址,函数用法:inet_ntoa(fromsin_addr)。
QTcpSocket QTcpServer::nextPendingConnection ()
QHostAddress QAbstractSocket::peerAddress ()
分类: 电脑/网络
问题描述:
快啊~~~~
解析:
在“控制面板”中,双击“网络和拨号连接”,右键单击“本地连接”,然后单击“属性”。
在“此连接使用下列选定的组件”下,单击“Inter 协议 (TCP/IP)”。
以上就是关于C#:客服端和服务端建立TCP连接后,怎么从服务端获取客户端的IP地址全部的内容,包括:C#:客服端和服务端建立TCP连接后,怎么从服务端获取客户端的IP地址、C#TCPListener 怎么获取对方的IP、怎么查看TCP/IP协议配置参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)