python3.5實(shí)現(xiàn)socket通訊示例(TCP)
TCP連接:
tcp是面向連接的一個協(xié)議,意味著,客戶端和服務(wù)器開發(fā)發(fā)送數(shù)據(jù)之前,需要先握手創(chuàng)建一個TCP連接。TCP連接的一端與客戶端套接字相互聯(lián)系,另一端與服務(wù)器套接字相聯(lián)系。當(dāng)創(chuàng)建該TCP連接的時,我們需要講客戶端與服務(wù)器的套接字地址(IP地址和端口號)關(guān)聯(lián)起來。使用創(chuàng)建的TCP連接,當(dāng)一側(cè)要向另一側(cè)發(fā)送數(shù)據(jù)的時候,它只需要經(jīng)過其套接字將數(shù)據(jù)丟給TCP連接,不需要再次附上目的地址。
使用TCP連接的客戶-服務(wù)器程序:

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套接字向服務(wù)器發(fā)送數(shù)據(jù)之前,必須在客戶端與服務(wù)器之間創(chuàng)建一個TCP連接;
2、clientSocket.connect((serverName,serverPort)):執(zhí)行三次握手,創(chuàng)建TCP連接;
3、clientSocket.close():關(guān)閉客戶端和服務(wù)器之間的TCP連接;
4、connectionSocket.close():向客戶端發(fā)送完畢之后關(guān)閉該連接套接字
TCP連接需要兩個套接字,UDP只要一個,
TCP服務(wù)器支持n個并行連接,每條連接來自不同客戶端,TCP連接需要n+1個套接字即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python中的TCP socket寫法示例
- python使用socket創(chuàng)建tcp服務(wù)器和客戶端
- python TCP Socket的粘包和分包的處理詳解
- Python+Socket實(shí)現(xiàn)基于TCP協(xié)議的客戶與服務(wù)端中文自動回復(fù)聊天功能示例
- Python Socket實(shí)現(xiàn)簡單TCP Server/client功能示例
- Python socket網(wǎng)絡(luò)編程TCP/IP服務(wù)器與客戶端通信
- Python采用socket模擬TCP通訊的實(shí)現(xiàn)方法
- python網(wǎng)絡(luò)編程之TCP通信實(shí)例和socketserver框架使用例子
- Python使用socket模塊實(shí)現(xiàn)簡單tcp通信
相關(guān)文章
用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法
今天小編就為大家分享一篇用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python?subprocess執(zhí)行外部命令常用方法詳細(xì)舉例
這篇文章主要給大家介紹了關(guān)于python?subprocess執(zhí)行外部命令常用方法的相關(guān)資料,Python的subprocess模塊提供了一種在Python中調(diào)用外部命令的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
在Django的模板中使用認(rèn)證數(shù)據(jù)的方法
這篇文章主要介紹了在Django的模板中使用認(rèn)證數(shù)據(jù)的方法,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下2015-07-07
Python面向?qū)ο蠡A(chǔ)入門之編碼細(xì)節(jié)與注意事項(xiàng)
這篇文章主要給大家介紹了關(guān)于Python面向?qū)ο蠡A(chǔ)入門之編碼細(xì)節(jié)與注意事項(xiàng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
在python3中實(shí)現(xiàn)查找數(shù)組中最接近與某值的元素操作
今天小編就為大家分享一篇在python3中實(shí)現(xiàn)查找數(shù)組中最接近與某值的元素操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
pandas數(shù)據(jù)聚合與分組運(yùn)算的實(shí)現(xiàn)
本文主要介紹了pandas數(shù)據(jù)聚合與分組運(yùn)算的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
python在windows下實(shí)現(xiàn)ping操作并接收返回信息的方法
這篇文章主要介紹了python在windows下實(shí)現(xiàn)ping操作并接收返回信息的方法,實(shí)例分析了Python實(shí)現(xiàn)ping操作的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03

