2011-02-03 22 views
0

私はネットワークでクライアントとサーバの例をエミュレートするために基本的なpythonクライアントとサーバスクリプトを使用しました。 は、私は、このスクリプトを実行したサーバ側では:私のネットワークにクライアントとサーバの接続を確立できません

# UDP server example 
import socket 
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
server_socket.bind(("", 5000)) 
print"UDPServer Waiting for client on port 5000" 
while 1: 
data, address = server_socket.recvfrom(256) 
print "(" ,address[0], " " , address[1] , ") said : ", data 

と別のシステムにクライアントスクリプトを実行しました:代わりに、ローカルホストの

# UDP client example 
import socket 
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
while 1: 
data = raw_input("Type something(q or Q to exit): ") 
if (data <> 'q' and data <> 'Q'): 
    client_socket.sendto(data, ("localhost",5000)) 
else: 
    break 
client_socket.close() 

クライアントスクリプトに私は私のサーバーシステムのIPを書きました。まだ接続の兆候はありません。私はここで間違っているのですか?

+1

のファイアウォールを開くために

iptables -I INPUT -p udp --dport 5000 -j ACCEPT 

を実行したい場合があります。インターネットファイアウォールをアクティブにしていますか?また、 "localhost"を使用する場合は、あなたのために動作しますか? –

+0

私は同じシステムで両方のスクリプトを実行するが、私は別のシステムでコードを実行している場合は動作します。私はそれを動作させるためにneの変更を行う必要がありますか? – Rahul

+0

ここで2つの異なるマシンで試してみましたが、うまくいきました。私が変更した唯一の部分は、実際のサーバーアドレスに "localhost"でした。 –

答えて

0

あなたは* nixの何かの上でそれを実行すると仮定します。 あなたはあなたのコードは私の作品ポート5000

関連する問題