2016-12-06 8 views

答えて

0

"コンピュータに接続する"という意味が不明なので、私はあなたにTCPソケットサーバーとクライアントを与えました。 あなたが持つ「に接続」したいコンピュータ上のソケットサーバーを作成します。

import SocketServer 
class MyTCPHandler(SocketServer.BaseRequestHandler): 

    def handle(self): 
     self.data = self.request.recv(1024).strip() 
     print "{} wrote:".format(self.client_address[0]) 
     print self.data 
     self.request.sendall(self.data.upper()) 

if __name__ == "__main__": 
    HOST, PORT = "localhost", 9999 

    # Create the server, binding to localhost on port 9999 
    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler) 

    server.serve_forever() 

今すぐクライアントを作成します。

import socket 
import sys 

HOST, PORT = "localhost", 9999 
data = " ".join(sys.argv[1:]) 

(SOCK_STREAM means a TCP socket) 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 

try: 
    sock.connect((HOST, PORT)) 
    sock.sendall(data + "\n") 

    received = sock.recv(1024) 
finally: 
    sock.close() 

print "Sent:  {}".format(data) 
print "Received: {}".format(received) 

あなたは、サーバーを実行して、クライアントとサーバが受信すべきクライアントの接続を確認し、サーバー上のデータ変数として持っているものを送信します。出典:https://docs.python.org/2/library/socketserver.html

+0

非常に説明されているように、ありがとうございますが、1つの質問です。ソケットサーバはPython固有のものか、あるいは別の言語のホストとPythonを接続したり、逆も可能ですか? – GreenHawk1220

+0

私はpythonがホストし、別のプログラムが接続できると信じています。問題ない!非常に役に立ちました – Qwerty

1

1つの質問ですが、ソケットサーバはPython固有のものか、あるいは 別の言語ホストとPythonを接続したり、逆も可能ですか?

socketsを使用している限り、(任意の言語で作られた)任意のソケットベースのサーバーに接続できます。ソケットベースのクライアントは、あなたのサーバーに接続することができます。さらに、それはクロスプラットフォームです。任意のOSのソケットベースのクライアントは、任意のOSからの任意のソケットベースのサーバーに接続できます。

+0

。ありがとうございました。 – GreenHawk1220

関連する問題