Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;客户端仅与本地主机C#服务器一起工作 我正在使用Windows服务和C++服务器的C++应用程序。 通过本地主机测试,一切都很好,但对于virtualbox系统或相同的网络计算机,一切都不起作用。 我禁用了windows防火墙和防病毒软件。 以下是我的C#服务器最重要的代码: IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipAddress = IPAddress.Parse("192.168.1.2"); IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 8517); tcpListener = new TcpListener(localEndPoint); tcpListener.Start(); tcpListenerThread = new Thread(listenerSocket); tcpListenerThread.Start(); } static void listenerSocket() { while (true) { try { Socket client = tcpListener.AcceptSocket(); clientSockets.Add(client); } catch (Exception exc) { return; } } } p>这里是我的C++客户端最重要的代码(根据C++ socket客户端的MSDN实例):_C#_C++_Sockets - Fatal编程技术网 这里是我的C++客户端最重要的代码(根据C++ socket客户端的MSDN实例):,c#,c++,sockets,C#,C++,Sockets" /> 这里是我的C++客户端最重要的代码(根据C++ socket客户端的MSDN实例):,c#,c++,sockets,C#,C++,Sockets" />

C++;客户端仅与本地主机C#服务器一起工作 我正在使用Windows服务和C++服务器的C++应用程序。 通过本地主机测试,一切都很好,但对于virtualbox系统或相同的网络计算机,一切都不起作用。 我禁用了windows防火墙和防病毒软件。 以下是我的C#服务器最重要的代码: IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipAddress = IPAddress.Parse("192.168.1.2"); IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 8517); tcpListener = new TcpListener(localEndPoint); tcpListener.Start(); tcpListenerThread = new Thread(listenerSocket); tcpListenerThread.Start(); } static void listenerSocket() { while (true) { try { Socket client = tcpListener.AcceptSocket(); clientSockets.Add(client); } catch (Exception exc) { return; } } } p>这里是我的C++客户端最重要的代码(根据C++ socket客户端的MSDN实例):

C++;客户端仅与本地主机C#服务器一起工作 我正在使用Windows服务和C++服务器的C++应用程序。 通过本地主机测试,一切都很好,但对于virtualbox系统或相同的网络计算机,一切都不起作用。 我禁用了windows防火墙和防病毒软件。 以下是我的C#服务器最重要的代码: IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipAddress = IPAddress.Parse("192.168.1.2"); IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 8517); tcpListener = new TcpListener(localEndPoint); tcpListener.Start(); tcpListenerThread = new Thread(listenerSocket); tcpListenerThread.Start(); } static void listenerSocket() { while (true) { try { Socket client = tcpListener.AcceptSocket(); clientSockets.Add(client); } catch (Exception exc) { return; } } } p>这里是我的C++客户端最重要的代码(根据C++ socket客户端的MSDN实例):,c#,c++,sockets,C#,C++,Sockets,使用localhost,它可以工作,并且我的客户端和服务器位于同一ip上,但具有不同的端口。 使用不同的IP时,我遇到了服务器无法“听到”客户端的情况。 我的日志如下所示: 2017-03-31 18:01:30 Settings readed: server IP = 192.168.1.2, server port = 8517- 2017-03-31 18:01:30 WSAStartup success -

使用localhost,它可以工作,并且我的客户端和服务器位于同一ip上,但具有不同的端口。 使用不同的IP时,我遇到了服务器无法“听到”客户端的情况。 我的日志如下所示:

2017-03-31 18:01:30   Settings readed: server IP = 192.168.1.2, server port = 8517-                         
2017-03-31 18:01:30   WSAStartup success        -                         
2017-03-31 18:01:30   Creating socket for connecting to server success-                         
2017-03-31 18:01:31   Unable to connect to server- 
我真的很感激任何帮助我坚持了这几乎一个星期。
我可以在客户端pc上添加ping到服务器ip工作

明显的问题:防火墙(客户端和服务器,而不仅仅是服务器)?是的,我在客户端和服务器防火墙和抗病毒上都禁用了。我建议对该ip地址进行跟踪,检查数据包是否在那里生成,然后可能运行另一个简单的服务器(例如telnet服务器或其他)在您尝试使用和检查的端口上,您可以从连接的机器访问它。如果一切正常,那么我会重新查看代码,但在C端,它肯定会正常工作。我建议您调用
WSAGetLastError
以了解实际发生的错误。对于不运行服务器的情况,我得到的错误==183,如果运行服务器,我得到的错误相同/
2017-03-31 18:01:30   Settings readed: server IP = 192.168.1.2, server port = 8517-                         
2017-03-31 18:01:30   WSAStartup success        -                         
2017-03-31 18:01:30   Creating socket for connecting to server success-                         
2017-03-31 18:01:31   Unable to connect to server-