C++ 套接字如何绑定在固定IP上???
服务器端程序sockSrv2=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_INaddrSrv2;addrSrv2.sin_addr.S_...
服务器端程序
sockSrv2=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv2;
addrSrv2.sin_addr.S_un.S_addr=inet_addr("202.69.128.125");
addrSrv2.sin_family=AF_INET;
addrSrv2.sin_port=htons(6000);
bind(sockSrv2,(SOCKADDR*)&addrSrv2,sizeof(SOCKADDR));
listen(sockSrv2,1);
为什么(addrSrv2.sin_addr.S_un.S_addr=inet_addr("202.69.128.125");)绑定在实际地址上时
listen(sockSrv2,1);不舰艇客户端请求直接运行了???
实际应用是这样的:有三台计算机 一台有两个网卡(做为服务端), 另外两台各有一个(做为客户端);服务端的计算机两个网口分别连接两台客户端计算机;想让服务端计算机和两台客户端计算机通讯,两个socket绑定在固定IP上时失败;!!!!我用两个socket分别连接两个客户端的!!!!
求大侠帮助 在线等待 谢谢了
服务器端addrSrv2.sin_addr.S_un.S_addr=htonl(INADDR_ANY);运行成功服务器端addrSrv2.sin_addr.S_un.S_addr=inet_addr("192.168.0.34");运行失败没连接上 展开
sockSrv2=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv2;
addrSrv2.sin_addr.S_un.S_addr=inet_addr("202.69.128.125");
addrSrv2.sin_family=AF_INET;
addrSrv2.sin_port=htons(6000);
bind(sockSrv2,(SOCKADDR*)&addrSrv2,sizeof(SOCKADDR));
listen(sockSrv2,1);
为什么(addrSrv2.sin_addr.S_un.S_addr=inet_addr("202.69.128.125");)绑定在实际地址上时
listen(sockSrv2,1);不舰艇客户端请求直接运行了???
实际应用是这样的:有三台计算机 一台有两个网卡(做为服务端), 另外两台各有一个(做为客户端);服务端的计算机两个网口分别连接两台客户端计算机;想让服务端计算机和两台客户端计算机通讯,两个socket绑定在固定IP上时失败;!!!!我用两个socket分别连接两个客户端的!!!!
求大侠帮助 在线等待 谢谢了
服务器端addrSrv2.sin_addr.S_un.S_addr=htonl(INADDR_ANY);运行成功服务器端addrSrv2.sin_addr.S_un.S_addr=inet_addr("192.168.0.34");运行失败没连接上 展开
1个回答
展开全部
检查bind的返回值。返回0才代表绑定成功。
“不监听直接运行”这个描述比较像是listen和accept没有动作。可能是因为绑定失败导致
“不监听直接运行”这个描述比较像是listen和accept没有动作。可能是因为绑定失败导致
更多追问追答
追问
服务器端
addrSrv2.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
客户端
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); 运行OK
服务器端
addrSrv2.sin_addr.S_un.S_addr=inet_addr("192.168.0.34");
客户端不变失败 ?????????谢谢
追答
我想问你的是你这个bind调用返回什么了,是不是返回了0。如果不是返回0,此时调用WSAGetLastError会获得什么错误代码
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询