C#:客服端和服务端建立TCP连接后,怎么从服务端获取客户端的IP地址

C#:客服端和服务端建立TCP连接后,怎么从服务端获取客户端的IP地址,第1张

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协议配置参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9796536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存