奇怪的bind绑定问题
我的问题是这样的,TCP套接字绑定端口号总是有问题,我绑定的是57000,可是从网络监视软件上看到的是一个4****的一个随机端口
程序没有任何错误提示,返回值也不是SOCKET_ERROR,我又换了其他的一些值,譬如1002一类的,绑定的端口仍然不对
大家帮帮忙~
- C/C++ code
//绑定端口 sockaddr_in si; si.sin_addr.s_addr=htonl(INADDR_ANY); si.sin_family=AF_INET; si.sin_port=*port; //*port=57002 if(bind(c_sever,(sockaddr*)&si,sizeof(si))==SOCKET_ERROR) { //绑定错误#ifdef DEBUG std::cout<<"sever setlocal bind error!"<<std::endl;#endif return false; } //没有产生错误[解决办法]
[解决办法]
si.sin_port=*port; //*port=57002 <===这个地方有错误,sin_port需要网络字节序 htons(*port)