怎样判断两个连接在一个网域中?﹐请各位老大帮忙

storm999 2005-09-24 09:52:16
我现在在开发一个实时通讯程序﹐基本功能倒是不难﹐只是客户的要求可能跨局域网和互联网﹐这在传文件时可能就会有问题﹐如果两个客户端在不同的局域网里﹐服务器在互联网上﹐传文件的效率可能会很低﹐所以我相在传文件时判断一下﹐如果两个客户端都在一个局域网﹐我就不用通过互联网可以直接传了﹐请问大家有没有好的办法帮我判断两个连接是否在一个网域中
...全文
117 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
storm999 2005-10-06
  • 打赏
  • 举报
回复
結貼﹐雖然沒得到特別滿意的答案﹐但也謝謝大家了﹗
sfengnet 2005-09-26
  • 打赏
  • 举报
回复
1.取IP,看IP的C类地址是否相同?

2.取子网掩码,看看是否相同?

如果都满足,那么就在一个局域网内了











我自己想的,没有依据 :(
binbin 2005-09-25
  • 打赏
  • 举报
回复
偶是说,如果外网地址相同,说明可能是在同一内网,然后让它们直接通讯.如果外网地址不同,那肯定不行的了.
storm999 2005-09-24
  • 打赏
  • 举报
回复
對啊﹗如果不通過服務器中轉數據﹐兩個不同子網的機器怎樣通過互聯網傳數據?
binbin 2005-09-24
  • 打赏
  • 举报
回复
如果客户端可以直接建立连接,局域网与互联网有什么不同吗?应该都是TCP或UDP协议。在同一局域网中自然就快,不在自然就慢一些,难道楼主全是通过服务器中转数据?
storm999 2005-09-24
  • 打赏
  • 举报
回复
这样可能不行吧!就算你知道两个内网IP,也分别知道它们的外网IP,也没办法进行直接通讯吧!可以吗?
------------------------------------------------------------------------------
瞎想一下,客户端与服务端通信时提交自己的内网IP地址,服务端根据其外网IP来分析两个客户端是否来自同一内网,然后通知客户端,客户端再尝试进行直接联系:-)
binbin 2005-09-24
  • 打赏
  • 举报
回复
瞎想一下,客户端与服务端通信时提交自己的内网IP地址,服务端根据其外网IP来分析两个客户端是否来自同一内网,然后通知客户端,客户端再尝试进行直接联系:-)
storm999 2005-09-24
  • 打赏
  • 举报
回复
主要问题就在于客户端可能无法直接建立连接,否则也不用麻烦各位了!
binbin 2005-09-24
  • 打赏
  • 举报
回复
你的子网是指NAT转换的内网?晕.偶们学校现在也是这样了,白白浪费那么多C类地址.

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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