多网卡机器上的socket编程

黑白双傻 2001-06-21 09:59:00
我要在多网卡的机器上编一个客户端程序,需要connect到其中一个网段的另外一台机器上。用CSocket。

直接create,然后connect,我不知道客户端程序会用哪一个IP地址跟服务器进行连接?是用同一个网段的那一个IP地址吗?

(因为手边没有多网卡机器,需要先了解一下情况)多谢
...全文
255 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑白双傻 2001-10-17
  • 打赏
  • 举报
回复
结题
greenyard 2001-06-25
  • 打赏
  • 举报
回复
其实只要有lo(127.0.0.1)就可以了
黑白双傻 2001-06-21
  • 打赏
  • 举报
回复
远程测试了一下,有一个地址是同网段,确实用的是同网段的IP地址。

>最好的方法是尝试用本地的IP列表逐个来与目标建立连接
不太明白啊,可以这样吗?就是指定本地的IP地址?
y_pro 2001-06-21
  • 打赏
  • 举报
回复
如果有个IP是和目标IP在同一个网段的话,一般就是采用同网段的IP来通讯。不过有可能
在本机的几个IP地址都不和目标IP在同一个网段,所以最好的方法是尝试用本地的IP列表
逐个来与目标建立连接,以连接是否成功为检验标准。在这样做之前,要把本地的IP列表
做一个优先级处理,即总是先尝试那些在同一个网段的IP,这样效率会比较高。
y_pro 2001-06-21
  • 打赏
  • 举报
回复
比如一个计算机上有三块网卡,绑定了三个IP地址:
196.128.0.128; 211.23.124.45; 169.254.111.179
如果你的目标地址是196.128.0.XXX,那么第一个IP地址就和你的目标地址在同一个
网段,应该从第一个IP开始尝试连接。
这种情况在INTERNET上尤其明显,因为同一个地区的IP地址总是类似的,所以先尝试
与目标地址类似的IP地址一般能获得较好的响应,因为使用不同IP可能会导致不同的
路由。
greenyard 2001-06-21
  • 打赏
  • 举报
回复
其实你不用管的,只管connect就是了,我做过那样的程序
不过,列举本地的IP地址也很简单,gethostbyname就行了

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧