2017-03-25 1 views
0

指定したURLアドレスのサーバーに接続するクライアントを作成しようとしています。どのようにPythonソケットのクライアント側をサーバーソケットにURLで接続するのですか?

私は

host_ip = socket.gethostbyname('HOST_NAME') 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
sock.bind(('127.0.0.1', 0)) 
sock.connect((host_ip, 8080)) 

この方法を使用誰かが間違っている理由を私に説明し、私の解決策を与えることはできますか?それは次のようなエラーに

OSError: [Errno 22] Invalid argument 

を印刷

+0

なぜあなたはソケットをバインドしていますか? _you_がサーバーの場合に使用されます。 – ForceBru

答えて

0

あなたのソケットはbindである必要はありません。これはサーバ側で行われます。ここで

documentation for socketからのサンプルコードです:

import socket 

HOST = 'your-url.net' # The remote host 
PORT = 8080    # The same port as used by the server 
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: 
    s.connect((HOST, PORT)) 
    s.sendall(b'Hello, world') 
    data = s.recv(1024) 
print('Received', repr(data)) 

これは、サーバーに接続し、簡単なスニペット、いくつかのデータを送信し、応答を出力しています。

関連する問題