我刚刚花了两天时间。这是在游戏引擎Unity3D中运行的,但这不应该有所作为。这两行总是失败:
TcpClient client = new TcpClient();
client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 15219));
我得到的错误是:
System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it.
at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP, Boolean requireSocketPolicy) [0x00000] in <filename unknown>:0
at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in <filename unknown>:0
at System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remote_end_point) [0x00000] in <filename unknown>:0
at StreamIn.Connect (System.String server, System.String message) [0x00011] in C:\XXX\StreamIn.cs:41
UnityEngine.Debug:Log(Object)
StreamIn:uPrint(String) (at Assets/StreamIn.cs:27)
StreamIn:Connect(String, String) (at Assets/StreamIn.cs:77)
StreamIn:Start() (at Assets/StreamIn.cs:18)
我已经尝试了所有方法,包括更改防火墙设置和禁用防火墙。
我的虚拟IP地址出错了。
如果我尝试移植80
而不是15219
,Unity编辑器会冻结。 (我确实在运行Web服务器。)
我错过了一些明显的东西吗?还是不明显?
答案 0 :(得分:1)
我总是发现使用.NET代码之外的其他网络工具来检查这些内容是否有用。我认为hercules对此非常有用,因为您可以轻松地为您的应用程序打开一个tcp服务器,以便从客户端角度连接和/或测试连接。