在UDP Socket C#中更改端口

时间:2018-04-15 11:49:12

标签: c# sockets udp

我正在开发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);
}

并在新端口上启动新客户端?

0 个答案:

没有答案