读书人

win32 socket解决办法

发布时间: 2013-04-21 21:18:07 作者: rapoo

win32 socket
看孙鑫的视频,服务器等待连接,
客户端的定义应该是如下;
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_port=Port;//port=6789;
ServerAddr.S_addr=inet_addr("127.0.0.1");
可我编译器vs2012只能下面这样定义:
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_port=Port;//port=6789;
ServerAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//这里不一样;
但是
int err=0;
err=connect(s,(SOCKADDR*)&ServerAddr,sizeof(ServerAddr));
err返回-1;哪位老师知道是哪里的原因吗?
[解决办法]

引用:
引用:ServerAddr.sin_port=Port;//port=6789; 估计是这里问题, 这里需要使用htons转换字节序

ServerAddr.sin_port = htons(Port);
首先感谢一下,不过我加上后还是不行;
wsagetlasterror 对connect返回的错误代码是10061;
看了……

你先在本机测试看行不行?
没必要关闭防火墙,只需要添加一个规则(就是打开防火墙tcp连接的XX端口)
[解决办法]
用netstat -an看看6789的端口是否在LISTEN

读书人网 >C++

热点推荐