0
我想创建一个简单的应用程序,它在两台远程计算机之间交换消息。 “127.0.0.1”ip工作正常,等待客户端确认并连接到客户端,但如果我尝试使用同一端口的本地“192.168.0.15”或全局IP,服务器立即连接到无需等待客户。C++ winsock服务器端客户端远程连接
这里是我的服务器代码的一部分:
char ip[20] = "127.0.0.1"; int port = 19385;
SOCKET sockListen, sockConnect;
SOCKADDR_IN address;
sockConnect = socket (AF_INET, SOCK_STREAM, NULL);
address.sin_addr.s_addr = inet_addr (ip);
address.sin_family = AF_INET;
address.sin_port = htons (port);
sockListen = socket (AF_INET, SOCK_STREAM, NULL);
bind (sockListen, (SOCKADDR*)&address, AddressSize);
listen (sockListen, SOMAXCONN);
sockConnect = accept (sockListen, (SOCKADDR*)&address, &AddressSize);
...
请建议如何解决这个问题。 thx
你为什么不尝试使用boost.Asio。你会为自己节省很多头痛。 – Caesar 2012-08-08 15:54:44
不应该'sockConnect = socket(AF_INET,SOCK_STREAM,NULL);'初始化'sockListen'而不是'sockClient'? – Jaywalker 2012-08-08 16:14:08
sockListen也在下面初始化。订单没关系 – user1585185 2012-08-08 16:23:19