求助:Python本机网络通信程序,Client端和Server端不能通信?
Server端与Client端代码如下,当Client端用本地回路地址时127.0.0.1,虽然Server端与Client端都能运行,但不能通信。
我将host改为本机具体的IP地址时,就可以。
麻烦各位大侠,看看为什么?
小弟不甚感激!!!!
Server端代码:------
import socket
print 'Server'
host = ''
port = 50000
backlog = 5
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
s.listen(backlog)
while 1:
client, address = s.accept()
data = client.recv(size)
if data:
client.send(data)
print 'Server received:', data
client.close()
Client端代码:------
import socket
print 'Client'
#host = '192.168.0.101'
host = '127.0.0.1'
port = 50000
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host,port))
s.send('Hello, world')
data = s.recv(size)
s.close()
print 'Received:', data
a = raw_input('Enter to continue...')
[解决办法]
表示server里host = ''是绑定192.168.0.101,貌似断开或禁用网路连接才会是127.0.0.1...
[解决办法]
这种事是不可能的
[解决办法]
使用环回地址是没有问题的。。。
[解决办法]
刚刚试下了都可以通信的。
[解决办法]
如果你的server/client是异地恋的话,比如一个在win7,一个在vmware
你要确保你的vmware中系统和win7网络是否能通,确认网卡连接(vmware中选项)选择bridge adapter,而不是nat,且设置为同一网段。
另外要学会通过辅助工具进行调试,比如说
你在vmware中的linux运行了python server端,
然后你就需要在linux中telnet 127.0.0.1 50000进行测试,看看是不是能够连接
然后在回到win7下telnet 192.168.11.XX 50000进行测试
如果这个都正常说明网络没问题,否则就是连接问题
最后再来看python client在win7上是否连通
最后实在不行,那么csdn,stackoverflow