2011-10-28 19 views
0

私はPythonには新しく、私はServerプログラムを作成しようとしています。それはソケット接続を受け入れるために、サーバーの時間を来るときしかし、それはないと私は何かは、最大一致けどされていないことを言っているかなり確信してPythonソケットエラー

File "test.py", line 12, in <module> 
    client_socket, address = server_socket.accept() 
File "/usr/lib/python2.6/socket.py", line 195, in accept 
    sock, addr = self._sock.accept() ` 

でプログラムを終了する必要がありますそれがそうしていないところを見つけることができません。私のサーバープログラムは以下の通りです:

import socket 
import os 

server_address = '10.1.1.2' 

#while 1: 
#  os.system('netcat -l 3333') 
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 

serversocket.bind ((socket.gethostname(), 3333)) 

serversocket.listen(1) 

serversocket, client_addr = serversocket.accept() 
print client_addr 

serversocket.close() 

ありがとうございます!

+1

接続するクライアントはありますか? socket.accept()は、クライアントが接続するまでハングします。 – TJD

+0

はい、私はそれを含んでいませんでしたが、とても基本的ですが、socket.connect()ステートメントを持っているので、接続すると仮定しています。 – tpar44

+0

私は2番目のTJDです。私はこれをテストし、クライアントが接続するまでsocket.accept()がハングします。 –

答えて

0

私はそれを理解しました。 socket.gethostname()の代わりに、その場所にserver_addressする必要がありました。それで私は最初にサーバーに接続できず、いつも^ Cでそれを強制終了しなければならなかったのです。

0

socket.gethostbyname(socket.gethostname())の代わりにsocket.gethostname()に電話する必要があります。

関連する問題