【发布时间】:2011-03-05 00:41:43
【问题描述】:
我正在编写一个简单的 C# tcp 客户端和服务器程序。服务器最终将在另一台机器上,但现在我只是在同一台机器上进行测试。当我使用 ip 地址创建 TcpClient 时,我收到一个异常错误“每个套接字地址(协议/网络地址/端口)通常只允许使用一次”。但如果我使用“localhost”而不是 IP 地址,它会起作用。我从 ipconfig 获取 IP 地址。我还尝试让服务器在另一台机器上运行,当我指定远程机器的 ip 地址时,我的 TcpClient 得到相同的异常。如何使用 IP 地址建立连接?谢谢。
下面是我创建 TcpClient 的代码
IPAddress ipaddr = IPAddress.Parse("192.168.128.100");
int port = 3000;
int tries = 0;
client = null;
while (tries < 6) // try for 3 seconds
{
try
{
tries++;
IPEndPoint ipEndpt = new IPEndPoint(ipaddr, port);
client = new TcpClient(ipEndpt);
}
catch (Exception ex)
{
client = null;
Thread.Sleep(500);
}
}
【问题讨论】:
-
另外,贴一些代码,会有帮助的。
-
是的..谢谢你这就是问题所在。我应该调用 Connect 并传入服务器 IPEndPoint 而不是传递给 TcpClient 构造函数
-
抱歉,我刚刚看到我发表了评论而不是回答。