如何在c#中了解客户端套接字程序中的客户端端口和ip地址

时间:2012-12-14 09:26:11

标签: c# sockets network-programming client-server

  

可能重复:
  how to get know the client port and ip address in client socket program in java

我使用socket在c#中创建了一个多客户端 - 服务器通信。我有一个服务器和一个客户端。我想用多个客户端测试我的程序。我计划创建一个动态创建IP和端口的刺激器..为此我只想知道如何在套接字程序中设置客户端IP和端口。任何人都可以帮助我。

socket m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);                                   

2 个答案:

答案 0 :(得分:1)

  

如何在套接字中设置客户端ip和端口

在发出Socket.Connect()之前,您可以Bind()套接字到本地地址,如下所示:

var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
var addr = new IPAddress(new byte[] { 192, 168, 1, 115 });
var ep = new IPEndPoint(addr, 0);
socket.Bind(ep);

但是,只要提供未绑定到计算机上任何适配器的IP地址,“请求的地址在其上下文中无效”。异常将被抛出。

  

我想用多个客户端测试我的程序

所以只需多次运行你的客户端。

答案 1 :(得分:0)

您是否阅读过MSDN Socket Constructor (AddressFamily, SocketType, ProtocolType)主题? 页面上有一个非常明显的例子。