我正在关注MSDN教程here,其中详细介绍了如何制作基本的客户端 - 服务器TCP聊天程序。
我已经有了所有的代码,并且它正在编译,但是当我尝试创建新的TcpListener对象时,我在socketClient类中遇到了一个问题。
教程说要使用这一行:
mobjClient = New TcpClient("localhost", 5000)
然而,在运行时,我收到错误:
System.dll中出现未处理的“System.Net.Sockets.SocketException”类型异常 其他信息:数据库查找期间发生不可恢复的错误
使用构造函数的主机名部分,我得到以下相同的消息作为参数。函数调用正确返回机器的名称。
(System.Net.Dns.GetHostName(), 5000)
我也尝试过使用机器的IP,分别为127.0.0.1和它的实际IP。使用IP会产生稍微不同的错误
System.dll中出现未处理的“System.Net.Sockets.SocketException”类型异常 其他信息:提供了无效参数
我还发现this link是其他人使用相同的教程,它提供了完整的代码。
答案 0 :(得分:2)
找到了部分解决方案on this answer
显然,VS.net对于程序集在网络位置上运行这一事实非常挑剔。虽然上述链接问题并不相同,但它确实相关,因为将项目移动到本地驱动器会导致TCPListener正常工作。
我现在有其他错误可以解决,但我相信它们是无关的。我也无法得到他的app.config解决方案来解决我的问题。只有通过复制到本地磁盘才能运行程序。
答案 1 :(得分:0)
mobjClient作为新的TcpClient(" localhost",5000)