c++ socket问题(新手向)

我用sockettool建立了个服务器:198.162.0.100(10000)structsockaddr_in{structin_addrsin_addr;short... 我用sockettool建立了个服务器:198.162.0.100(10000)

struct sockaddr_in{
struct in_addr sin_addr;
short sin_family;
unsigned short sin_port;
char sin_zero[8];
};
struct in_addr{
union{
struct {
u_long S_addr;
}S_un;
};
};

sockaddr_in addr;
in_addr in_add;
CSocket sock;
addr.sin_family = AF_INET;
addr.sin_port = htons(10000);
addr.sin_addr.S_un.S_addr = inet_addr("192.168.0.100");

BOOL a = sock.Bind((struct sockaddr*)&addr, sizeof(addr));
sock.Listen(5);
printf("%d", a);
getchar();
return 0;

输出为0.
将 htons换成0.0.0.0输出还是为0.
究竟是怎么回事。
展开
 我来答
房子a房子a
2017-11-15 · TA获得超过2047个赞
知道小有建树答主
回答量:783
采纳率:85%
帮助的人:556万
展开全部
你说的输出指的是输出printf a吧?可能你并没有理解socket通信的基本流程。
在socket通信中,服务端需要做的几件事是:
创建socket->设置端口->绑定端口(bind)->监听端口(listen)->接收连接请求(accept)->创建新的网络通信线程->继续监听端口
客户端需要做的几件事:
创建socetk->获得服务端IP和端口->连接服务端->连接成功开始发送/接收数据
你上面的代码看起来是把服务端和客户端需要做的工作弄混乱了。服务端不需要绑定本机IP,只需要知道本机端口。客户端不需要进行监听,直接使用服务器端IP端口进行连接就行。建议你看一下最基本的服务端、客户端使用tcp网络的相关资料。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式