python3.5實現(xiàn)socket通訊示例(TCP)
TCP連接:
tcp是面向連接的一個協(xié)議,意味著,客戶端和服務器開發(fā)發(fā)送數(shù)據(jù)之前,需要先握手創(chuàng)建一個TCP連接。TCP連接的一端與客戶端套接字相互聯(lián)系,另一端與服務器套接字相聯(lián)系。當創(chuàng)建該TCP連接的時,我們需要講客戶端與服務器的套接字地址(IP地址和端口號)關(guān)聯(lián)起來。使用創(chuàng)建的TCP連接,當一側(cè)要向另一側(cè)發(fā)送數(shù)據(jù)的時候,它只需要經(jīng)過其套接字將數(shù)據(jù)丟給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套接字向服務器發(fā)送數(shù)據(jù)之前,必須在客戶端與服務器之間創(chuàng)建一個TCP連接;
2、clientSocket.connect((serverName,serverPort)):執(zhí)行三次握手,創(chuàng)建TCP連接;
3、clientSocket.close():關(guān)閉客戶端和服務器之間的TCP連接;
4、connectionSocket.close():向客戶端發(fā)送完畢之后關(guān)閉該連接套接字
TCP連接需要兩個套接字,UDP只要一個,
TCP服務器支持n個并行連接,每條連接來自不同客戶端,TCP連接需要n+1個套接字即可。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Python中的TCP socket寫法示例
- python使用socket創(chuàng)建tcp服務器和客戶端
- python TCP Socket的粘包和分包的處理詳解
- Python+Socket實現(xiàn)基于TCP協(xié)議的客戶與服務端中文自動回復聊天功能示例
- Python Socket實現(xiàn)簡單TCP Server/client功能示例
- Python socket網(wǎng)絡編程TCP/IP服務器與客戶端通信
- Python采用socket模擬TCP通訊的實現(xiàn)方法
- python網(wǎng)絡編程之TCP通信實例和socketserver框架使用例子
- Python使用socket模塊實現(xiàn)簡單tcp通信
相關(guān)文章
Python將二維列表list的數(shù)據(jù)輸出(TXT,Excel)
這篇文章主要介紹了Python將二維列表list的數(shù)據(jù)輸出(TXT,Excel),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點圖代碼示例
這篇文章主要介紹了Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點圖實例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12