我正在开发UDP服务器 - 客户端应用程序。
当我创建新客户端时,客户端连接到服务器并开始交换数据
这是我的客户端构造函数:
pm2
在几次操作后,我想连接到另一台服务器。
我的问题是,是否可以在套接字客户端中更改端口?
我试过这个但是它不起作用,程序一直停滞不前:
static EndPoint serverEP;
static Socket clientSocket;
public Client(Player client)
{
clientSocket = clientSocket = new Socket(
AddressFamily.InterNetwork,
SocketType.Dgram,
ProtocolType.Udp);
clientSocket.Bind(new IPEndPoint(IPAddress.Any,0));
clientSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
serverEP = new IPEndPoint(IPAddress.Parse(Server.serverIp), port);
}
这是一个关闭这样的套接字的解决方案:
public void changePort(int newPort)
{
clientSocket.Bind(new IPEndPoint(IPAddress.Any, 0));
serverEP = new IPEndPoint(IPAddress.Parse(Server.serverIp), newPort);
}
并在新端口上启动新客户端?