python 网络编程之Socket通信案例消息发送与接收
背景
網(wǎng)絡(luò)編程是python編程中的一項(xiàng)基本技術(shù)。本文將實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Socket通信案例消息發(fā)送與接收
正文
在python中的socket編程的大致流程圖如上所示
我們來(lái)首先編寫客戶端的代碼:
# !/usr/bin/env python# -*- coding: utf-8 -*-# Time: 2018/1/26 13:59# Author: sty# File: socket_client.pyimport socketclient = socket.socket() #聲明socket類型,同時(shí)生成socket連接對(duì)象
client.connect(('localhost', 6969))client.send(b"hello world")
data = client.recv(1024)print("recv:", data)
client.close()
在這段代碼中我們?cè)诒镜亻_(kāi)啟了6969端口來(lái)傳輸’hello world’的字節(jié)數(shù)據(jù)
然后我們編寫服務(wù)器端的代碼:
# !/usr/bin/env python# -*- coding: utf-8 -*-# Time: 2018/1/26 14:09# Author: sty# File: socket_server.pyimport socketserver = socket.socket()server.bind(('localhost', 6969)) #綁定要監(jiān)聽(tīng)端口server.listen() #監(jiān)聽(tīng)print('begin...')
# conn就是客戶端連過(guò)來(lái)而再服務(wù)器端為其生成的一個(gè)連接實(shí)例
conn, addr = server.accept() # 等電話打進(jìn)來(lái)print('accept...')data = conn.recv(1024)print("recv", data)
conn.send(data.upper())server.close()
我們?cè)谶\(yùn)行服務(wù)器端代碼時(shí),會(huì)出現(xiàn):
begin...
表示服務(wù)器端正在監(jiān)聽(tīng)端口
我們?cè)龠\(yùn)行客戶端的代碼,會(huì)出現(xiàn):
recv: b'HELLO WORLD'
而此時(shí)服務(wù)器端的代碼出現(xiàn)了:
begin...
accept...
recv b'hello world'
表示服務(wù)器端已經(jīng)接收到了數(shù)據(jù),并且打印出來(lái)了。
結(jié)語(yǔ)
由此我們就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的Socket通信案例消息發(fā)送與接收
轉(zhuǎn)載請(qǐng)注明出處:
CSDN:樓上小宇_home:http://blog.csdn.net/sty945
簡(jiǎn)書:樓上小宇:http://www.jianshu.com/u/1621b29625df
總結(jié)
以上是生活随笔為你收集整理的python 网络编程之Socket通信案例消息发送与接收的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于python创建类的深入理解
- 下一篇: leetcode:2680 Remove