2016-12-06 6 views

답변

0

"컴퓨터에 연결"이란 의미가 명확하지 않으므로 TCP 소켓 서버와 클라이언트를 제공했습니다. 클라이언트와 서버를 받아야

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) 

당신은 다음 서버를 실행

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() 

지금 클라이언트를 만듭니다 당신이 "연결"하려는 컴퓨터에 소켓 서버 만들기 클라이언트의 연결을 설정하고 서버의 데이터 변수로 가지고있는 모든 것을 보내십시오. 출처 : https://docs.python.org/2/library/socketserver.html

+0

대답 해 주셔서 감사합니다. 매우 설명했지만 한 가지 질문이었습니다. 소켓 서버가 파이썬에만 해당합니까? 아니면 다른 언어 호스트와 파이썬이 연결되어 있거나 그 반대 일 수 있습니까? – GreenHawk1220

+0

저는 파이썬이 호스트 할 수 있고 다른 프로그램이 연결할 수 있다고 믿습니다. 그렇습니다. 문제 없어! – Qwerty

1

하나의 질문. 소켓 서버가 파이썬과 관련이 있습니까? 다른 언어 호스트와 파이썬이 연결되거나 그 반대 일 수 있습니까?

sockets을 사용하는 한 모든 소켓 기반 서버 (모든 언어로 작성)에 연결할 수 있습니다. 그 반대의 경우 : 소켓 기반 클라이언트는 서버에 연결할 수 있습니다. 또한 크로스 플랫폼입니다. 모든 OS의 소켓 기반 클라이언트는 모든 OS 기반의 모든 소켓 기반 서버에 연결할 수 있습니다.

+0

매우 도움이됩니다. 고맙습니다. – GreenHawk1220