关于winsock TCP客户端绑定问题? 本帖最后由 VisualEleven 于 2010-12-06 09:37:01 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 客户端的socket不用bind函数 系统随机分配一个可用端口 如果在不使用bind()绑定,客户端则使用的是随机端口 socket初始化的时候可以绑定IPconst char LocalIP[] = "10.222.4.14";SOCKADDR_IN Local; Local.sin_family = AF_INET; Local.sin_addr.s_addr = inet_addr(LocalIP);//Local.sin_port = htons(0);//Local.sin_addr.s_addr = htonl(INADDR_ANY);int ret = bind(sk,(LPSOCKADDR)&Local,sizeof(SOCKADDR_IN));这样就可以选择重哪块网卡出去了 客户端要使用指定端口需要使用bind绑定,否则为系统分配随机端口 对于没有BIND的SOCKET,当建立连接后,你可以用getsockname 得到绑定的SOCKET相关信息。具体请参阅MSDN 进入多线程后程序乱跳,不按照顺序执行为什么? 内存文件操作 类成员调用的问题 定时器中使用 (AfxGetApp()有不良后果吗 帮我看看Winlogon Notification Package的代码,小弟拜谢!! 我看别人装了个软件,VC在调试过程中就有显示系统消息的跟踪,请问那软件叫什么名字 写了一个程序 界面+网络通信 为什么AngleArc和ArcTo都画不出东西,而Arc可以的? 请教一个内存泄露的问题 从文件读去一片数据流,怎么存如access数据库中?? 请教个问题:如何让程序停止执行一段时间 VFW 设置视频卡为高分辩率时不用预览显示的问题!
系统随机分配一个可用端口
socket初始化的时候可以绑定IP
const char LocalIP[] = "10.222.4.14";
SOCKADDR_IN Local;
Local.sin_family = AF_INET;
Local.sin_addr.s_addr = inet_addr(LocalIP);
//Local.sin_port = htons(0);
//Local.sin_addr.s_addr = htonl(INADDR_ANY);
int ret = bind(sk,(LPSOCKADDR)&Local,sizeof(SOCKADDR_IN));
这样就可以选择重哪块网卡出去了
具体请参阅MSDN