同一个局域网下的 socket 无法通信

2014-04-15 13:22:03 +08:00
 jxwho
请问, 同一个局域网下的socket无法通信的原因可能是什么?

我想让我的电脑跟虚拟机用socket通信,虚拟机用了一个无线网卡,但是总是失败,无法连接,我查了端口,应该都打开了,请问可能的原因会是什么?

谢谢!
4482 次点击
所在节点    Python
13 条回复
Panic
2014-04-15 14:43:51 +08:00
wireshark抓包试试,太不详细了
rebornix
2014-04-15 17:44:39 +08:00
还是得抓包看一下,connection无法建立,得确认是电脑包没发出去还是虚拟机包没能返回回来。
wy315700
2014-04-15 17:53:36 +08:00
先看看能不能ping通吧
ETiV
2014-04-15 19:25:22 +08:00
同LS...

ping不通就改虚拟机配置里的网卡项.
wangyongbo
2014-04-15 22:20:06 +08:00
这个跟socket 无关。肯定是网络配置问题。
jxwho
2014-04-15 23:10:59 +08:00
@wy315700 直接ping主机的地址吗?端口要说明吗?

@ETiV 现在是NAT, 要改成什么吗?

@wangyongbo 这个可以怎么发现要怎么改?


我又试了一下,在两台mac之间建立socket,但是也不成功,,没有开防火墙,
jxwho
2014-04-15 23:53:39 +08:00
@Panic
@rebornix
这个,,,请问怎么抓到相应的包?
11138
2014-04-16 00:21:12 +08:00
1,楼上几位都说得很清楚了,让你确定一下两台机是否通的,简单来说就是互ping一下看看,然后跟大家说一下结果。
2,直接上代码。
rebornix
2014-04-16 10:02:41 +08:00
@jxwho 看你使用的是什么系统啦,如果是*inx,tcpdump可以监听所有协议的package。

如果是windows,安装wireshark,有GUI一玩就会~
jxwho
2014-04-16 16:16:08 +08:00
@rebornix 其实是怎么找到对应的包?source and destination?
jxwho
2014-04-16 16:17:20 +08:00
我现在让两个虚拟机在建立的NAT Network下,就可以正常工作了...但是奇怪的是,同一个网络下的两部Mac不能socket成功,防火墙关了.
luoqeng
2014-04-16 18:08:56 +08:00
你没弄懂VMware的网络工作模式,桥接 NAT HOST 之间的区别搞清楚了就行了,去网上搜搜吧。

简单的解释 :
桥接相当于把虚拟机直接插在交换机上。
NAT还是用真实主机的IP去通信,所以要其他局域网主机访问需做端口映射。
HOST基本上就是只能和自己的真实主机通信了 。
jxwho
2014-04-17 05:05:29 +08:00
@luoqeng 这个我知道了,但是现在问题在于,两台独立的机器在同一个网络下也ping不通...没开防火墙

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/108645

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX