.recvfrom
socket.recvfrom()で返ってくるアドレスがおかしい? - 手をよく洗いましょうの続き
どうもsocketの使い方がおかしかったらしい。
recvfromは基本的にUDPで使うものとのこと
日本麻酔科学会関西地方会 Yoshifumi Tanaka参照
TCPでconnectしたソケットはgetpeernameで接続先情報を拾える
Python 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import socket >>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >>> s.connect(('www.google.co.jp', 80)) >>> address = s.getpeername() >>> s.sendall('GET / HTTP/1.0\r\n\r\n') >>> data = s.recv(8192) >>> print address ('66.249.89.147', 80) >>>