TCP客户端程序,如果机器上有多个网口,如何指定某个网口进行TCP通讯? 在开发TCP客户端程序时,通常客户端是不需要关心自己的地址信息的,只需要指定服务器的IP地址和端口就可以了。以前都是在只有一个网口的机器上开发,所以也出现过什么问题。今天遇到一个情况,机器上有两个网口A和B,每个网口都有自己的IP,我现在想知道,如果我就想用A网口与服务器通讯,那我该怎么操作啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 客户端也需要bind吗?不是connect连接成功后直接send或recv就可以了吗? bind是指定端口通讯,不bind就是系统自己选个未被使用的端口来通讯. 我刚才试了一下,我的两个网口,一个插了网线,一个没插。如果我在调用connect()前调用bind()绑定到那个没插网线的网口上,bind返回失败,如果绑定到插了网线的那个网口上,bind成功。看来无论是服务器还是客户端,在正式通讯前都可以调用bind将套接字绑定到指定的IP上。 还是自己处理比较好吧,如果没有网络连接的可以过滤掉这个ip,这样比较好。//如果机器上有两个网口,其中一个接了网线,另一个没接,而且用户没有手动执行bind的操作,我想操作系统会自动绑定到可用的那个端口上吧。我刚才测试了一下,每次都是自动绑定到可用的那个网口上。 底层tdi nids上来的数据统统是要经过网络的,通地socket bind IP,=filter一次,socket内部如果Tdi IP == bind IP 则放行,否则直接通知底层扔掉,OYES就这么简单。 C++网络编程HTTP传输结构体 _CommandBar提示没有定义 为什么我的程序设断点单步调试会直接进入汇编语言底层代码 问个静态控件的问题 关于HANDLE_WM_COMMAND宏 怎么才能下到DirectX 9.0c 的 SDK? 关于内存泄露 一个菜鸟问题,100分! 一个<<Inside COM>>程序的问题,麻烦看看 vc 程序的安装问题 给按钮加背景图片出现错误! VC MDI和SDI主窗口打开,而不打开子窗口,在程序运行时
//如果机器上有两个网口,其中一个接了网线,另一个没接,而且用户没有手动执行bind的操作,我想操作系统会自动绑定到可用的那个端口上吧。我刚才测试了一下,每次都是自动绑定到可用的那个网口上。