> 백엔드 개발 > 파이썬 튜토리얼 > python3.5 소켓 통신 예제(TCP) 구현

python3.5 소켓 통신 예제(TCP) 구현

高洛峰
풀어 주다: 2017-02-10 10:08:35
원래의
1481명이 탐색했습니다.

이 글에서는 python3.5에서 구현된 소켓 통신(TCP)의 예를 주로 소개합니다. 편집자는 꽤 좋다고 생각해서 지금 공유하고 참고용으로 제공하겠습니다. 편집기를 따라가서 살펴보겠습니다.

TCP 연결:

tcp는 연결 지향 프로토콜입니다. 즉, 클라이언트와 서버가 데이터를 보내기 전에 서로 악수해야 합니다. TCP 연결을 만듭니다. TCP 연결의 한쪽 끝은 클라이언트 소켓에 연결되고 다른 쪽 끝은 서버 소켓에 연결됩니다. TCP 연결을 생성할 때 클라이언트의 소켓 주소(IP 주소 및 포트 번호)를 서버의 소켓 주소와 연결해야 합니다. 생성된 TCP 연결을 사용하여 한쪽에서 다른 쪽으로 데이터를 보내려고 할 때 대상 주소를 다시 연결하지 않고 소켓을 통해 TCP 연결에 데이터를 보내기만 하면 됩니다.

TCP 연결을 사용하는 클라이언트-서버 프로그램:

python3.5 소켓 통신 예제(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 중국어 홈페이지를 주목해주세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿