Socket获取客户端IP地址及端口号

本文介绍如何使用Socket类的RemoteEndPoint属性获取远程客户端的信息,并通过类型转换为IPEndPoint对象来获取客户端的IP地址和端口号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

Socket类包含一些非常有用的属性,这些属性允许确定关于正在连接的客户端的信息。其中关键信息之一是返回EndPoint对象的RemoteEndPoint属性。EndPoint类本身是抽象的,要想收集有用的信息,需·要把EndPoint强制类型转换为IPEndPoint对象。IPEndPoint类包含远程客户端的IP地址和端口号。具体用法如下:

 
  s = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) '''使用TCP协议
        Dim localEndPoint As New IPEndPoint(IPAddress.Parse("192.168.0.52"), 1024) '''指定IP和Port
        s.Bind(localEndPoint)    '''绑定到该Socket
        s.Listen(100)  '''侦听,最多接受100个连接

 While (True)
            Dim bytes(1024) As Byte '''用来存储接收到的字节

            Dim ss As Socket = s.Accept() '''若接收到,则创建一个新的Socket与之连接
            ' Dim ipstr = (IPAddress.Parse(CType(s.RemoteEndPoint, IPEndPoint).Address.ToString()))
            ss.Receive(bytes)  '''接收数据,若用ss.send(Byte()),则发送数
              Dim ss As Socket = s.Accept() 
            IPstr1= CType(ss.RemoteEndPoint, IPEndPoint).Address.ToString()
           Portstr1= CType(ss.RemoteEndPoint, IPEndPoint).Port.ToString()

   End While

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值