2013-12-20 73 views
1

只是这个问题的序言:我不知道我在做什么,所以请原谅任何愚蠢。Python:通过局域网连接?

我正在做一个基于套接字的聊天室,我想在本地网络上使用(我爸爸的电脑和我的连接通过相同的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),但我不确定..有什么建议吗?

+0

使用本地IP的 –

+0

如何发现? 'ipconfig'?每一个放在哪里? –

+0

ipconfig或ifconfig在Linux中,你已经把你的ip放在服务器代码中¨server_address=('myip',10000)¨你必须把一个客户端放在你父亲的计算机上,这个¨server_address=('myip',10000)¨ –

回答

5

你必须使用本地IP的,例如,如果你要成为你必须使用你自己的IP的服务器代码的服务器:

找到IP:

ipconfig - Windows CMD 
ifconfig - Linux Shell, Mac Terminal 

后你知道你的IP你有你自己的IP取代localhost

Server代码:

server_address = ('myip', 10000) 

所以在你父亲的电脑,你必须连接到服务器:

客户端代码:

server_address = ('myip', 10000)