只是这个问题的前言:我不知道我在做什么,所以请原谅任何愚蠢的行为。
我正在制作一个基于套接字的聊天室,我想在本地网络上使用它(我爸爸的计算机和我的计算机通过同一个 wifi 连接)。
这是服务器代码:
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('localhost', 10000)
print >>sys.stderr, 'starting up on %s port %s' % server_address
sock.bind(server_address)
sock.listen(1)
while True:
# Find connections
connection, client_address = sock.accept()
try:
data = connection.recv(999)
print data
except:
connection.close()
这是客户端:
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('localhost', 10000)
print >>sys.stderr, 'connecting to %s port %s' % server_address
while True:
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(server_address)
message=raw_input('Message: ')
if message=='quit':
break
sock.sendall(message)
except:
break
sock.close()
当我在一台计算机上运行客户端,而在另一台计算机上运行服务器时……无法建立连接。我相信这是因为server_address = ('localhost', 10000)
但我不确定..有什么建议吗?
你必须使用你的本地IP,例如,如果你要成为服务器,你必须在服务器代码中使用你自己的IP:
查找IP:
ipconfig - Windows CMD
ifconfig - Linux Shell, Mac Terminal
当你知道你的ip后你必须更换localhost
用你自己的IP:
服务器代码:
server_address = ('myip', 10000)
所以在你父亲的计算机上你必须连接到你的服务器:
客户端代码:
server_address = ('myip', 10000)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)