이 글에서는 python3.5에서 구현된 소켓 통신(TCP)의 예를 주로 소개합니다. 편집자는 꽤 좋다고 생각해서 지금 공유하고 참고용으로 제공하겠습니다. 편집기를 따라가서 살펴보겠습니다.
TCP 연결:
tcp는 연결 지향 프로토콜입니다. 즉, 클라이언트와 서버가 데이터를 보내기 전에 서로 악수해야 합니다. TCP 연결을 만듭니다. TCP 연결의 한쪽 끝은 클라이언트 소켓에 연결되고 다른 쪽 끝은 서버 소켓에 연결됩니다. TCP 연결을 생성할 때 클라이언트의 소켓 주소(IP 주소 및 포트 번호)를 서버의 소켓 주소와 연결해야 합니다. 생성된 TCP 연결을 사용하여 한쪽에서 다른 쪽으로 데이터를 보내려고 할 때 대상 주소를 다시 연결하지 않고 소켓을 통해 TCP 연결에 데이터를 보내기만 하면 됩니다.
TCP 연결을 사용하는 클라이언트-서버 프로그램:
TCPServer.py
import socket import socketserver import time import threading serverPort = 50007 serverSocket =socket.socket(socket.AF_INET,socket.SOCK_STREAM) serverSocket.bind (('',serverPort)) serverSocket.listen(1) print('The server is ready to receive') while 1: connectionSocket,addr = serverSocket.accept() sentence = connectionSocket.recv(1024) capitalizedSentence = sentence.upper() connectionSocket.send(capitalizedSentence) connectionSocket.close()
TCPClient.py
from socket import * serverName = '127.0.0.1' serverPort = 50007 clientSocket =socket(AF_INET,SOCK_STREAM) clientSocket.connect((serverName,serverPort)) sentence = input('Input lowercase sentence:') clientSocket.send(sentence.encode()) modifiedSentence = clientSocket.recv(1024) print('From Server:',modifiedSentence.decode()) clientSocket.close()
참고:
1 . 클라이언트가 TCP 소켓을 사용하여 서버에 데이터를 보내기 전에 클라이언트와 서버 사이에 TCP 연결이 생성되어야 합니다.
2. clientSocket.connect((serverName,serverPort)): -TCP 연결을 생성하는 방법
3. clientSocket.close(): 클라이언트와 서버 간의 TCP 연결을 닫습니다.
4. 클라이언트 완료 후 연결 소켓을 닫습니다.
TCP 연결에는 두 개의 소켓이 필요하고, UDP에는 하나만 필요합니다.
TCP 서버는 n개의 병렬 연결을 지원하며, 각 연결은 서로 다른 클라이언트인 TCP에서 옵니다. 연결 n+1 소켓이 필요합니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.
python3.5 소켓 통신 예제(TCP)와 관련된 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!