python高级语法-套接字编程之UDP和TCP编程
生活随笔
收集整理的這篇文章主要介紹了
python高级语法-套接字编程之UDP和TCP编程
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- 存在兩類協(xié)議UDP和TCP協(xié)議,前者是不安全的不面向鏈接的傳輸,速度快,后者是安全的面向鏈接的傳輸,速度慢。
- 首先,必須明確服務(wù)器和客戶端的區(qū)別
- 在服務(wù)器端連接ip地址和端口唯一指定這個程序,接受訪問,給與反饋,優(yōu)秀的服務(wù)器永遠不會停止運行。
- 在客戶端訪問服務(wù)器,發(fā)送消息,給與反饋。
- 所有都要求先有服務(wù)器開啟才能客戶端連接。
- 下面主要演示兩種編程實現(xiàn)簡單的聊天
- UDP示例代碼:
- 服務(wù)器端代碼
- 客戶端代碼
?
import socket def clientFunc():sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)while True:text = input("發(fā)送消息:")# 發(fā)送的str必須編碼data = text.encode()# 向該位置發(fā)送數(shù)據(jù)sock.sendto(data, ("127.0.0.1", 7677))# 接受反饋data, addr = sock.recvfrom(200)# 解碼數(shù)據(jù)data = data.decode()print("收到消息:"+data) if __name__ == '__main__':clientFunc()?
- TCP示例代碼
- 服務(wù)器端代碼
- 客戶端代碼
?
import socket def tcp_clt():sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)addr = ("127.0.0.1", 8990)sock.connect(addr)# 發(fā)送內(nèi)容到服務(wù)器while True:msg = input("發(fā)送消息:")sock.send(msg.encode())# 接受反饋rst = sock.recv(200)print("收到消息"+rst.decode())# 關(guān)閉鏈接通路sock.close() if __name__ == '__main__':tcp_clt()?
總結(jié)
以上是生活随笔為你收集整理的python高级语法-套接字编程之UDP和TCP编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python基础语法-异常处理
- 下一篇: python高级语法-GUI编程(主要介