이 글에서는 주로 Python3 소켓 동기 통신 기능을 소개하고, Python 소켓 동기 통신 클라이언트와 서버 측 구현 기술을 간단한 예제 형식으로 분석합니다. 도움이 필요한 친구가 참고할 수 있습니다.
이 글에서는 Python3 소켓 동기 통신에 대해 설명합니다. 예를 통해. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
이 기사는 비교적 간단하고 초보자에게 적합합니다. 향후 복사를 용이하게 하기 위해 메모해 두세요
하나의 서버, 하나의 클라이언트이며 차단 방법입니다. 한 번에 하나의 클라이언트 연결만 허용하고 통신하세요.
클라이언트가 'bye'를 보내면 서버와의 통신이 종료됩니다. 'shutdown'을 보내면 서버가 스스로 종료됩니다!
서버 코드:
from socket import * from time import ctime HOST = '' PORT = 21567 BUFSIZE = 1024 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) quit = False shutdown = False while True: print('waiting for connection...') tcpCliSock, addr = tcpSerSock.accept() print('...connected from: ', addr) while True: data = tcpCliSock.recv(BUFSIZE) data = data.decode('utf8') if not data: break ss = '[%s] %s' %(ctime(), data) tcpCliSock.send(ss.encode('utf8')) print(ss) if data == 'bye': quit = True break elif data == 'shutdown': shutdown = True break print('Bye-bye: [%s: %d]' %(addr[0], addr[1])) tcpCliSock.close() if shutdown: break tcpSerSock.close() print('Server has been
클라이언트 코드:
from socket import * HOST = 'localhost' PORT = 21567 BUFSIZE = 1024 ADDR = (HOST, PORT) tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR) while True: data = input('>') if not data: continue print('input data: [%s]' %data) tcpCliSock.send(data.encode('utf8')) rdata = tcpCliSock.recv(BUFSIZE) if not rdata: break print(rdata.decode('utf8')) if data == 'bye' or data == 'shutdown': break tcpCliSock.close()
위 내용은 Python3의 소켓 동기 통신에 대한 예제 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!