TCP連接:
tcp是面向連接的一個協議,意味著,客戶端和服務器開發發送數據之前,需要先握手創建一個TCP連接。TCP連接的一端與客戶端套接字相互聯系,另一端與服務器套接字相聯系。當創建該TCP連接的時,我們需要講客戶端與服務器的套接字地址(IP地址和端口號)關聯起來。使用創建的TCP連接,當一側要向另一側發送數據的時候,它只需要經過其套接字將數據丟給TCP連接,不需要再次附上目的地址。
使用TCP連接的客戶-服務器程序:
TCPServer.py
import socketimport socketserverimport timeimport threading serverPort = 50007serverSocket =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 = 50007clientSocket =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、connectionSocket.close():向客戶端發送完畢之后關閉該連接套接字
TCP連接需要兩個套接字,UDP只要一個,
TCP服務器支持n個并行連接,每條連接來自不同客戶端,TCP連接需要n+1個套接字即可。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答