同一个局域网下的 socket 无法通信 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jxwho
V2EX    Python

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

  •  
  •   jxwho 2014-04-15 13:22:03 +08:00 4856 次点击
    这是一个创建于 4227 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请问, 同一个局域网下的socket无法通信的原因可能是什么?

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

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

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

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

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


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

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

    简单的解释 :
    桥接相当于把虚拟机直接插在交换机上。
    NAT还是用真实主机的IP去通信,所以要其他局域网主机访问需做端口映射。
    HOST基本上就是只能和自己的真实主机通信了 。
    jxwho
        13
    jxwho  
    OP
       2014-04-17 05:05:29 +08:00
    @luoqeng 这个我知道了,但是现在问题在于,两台独立的机器在同一个网络下也ping不通...没开防火墙
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1286 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 17:08 PVG 01:08 LAX 09:08 JFK 12:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86