日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python send 案例_python socket编程入门(编写server实例)+send 与sendall的区别与使用方法...

發(fā)布時間:2025/3/20 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python send 案例_python socket编程入门(编写server实例)+send 与sendall的区别与使用方法... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

python 編寫server的步驟:

1. 第一步是創(chuàng)建socket對象。調(diào)用socket構(gòu)造函數(shù)。如:

socket = socket.socket( family, type )

family參數(shù)代表地址家族,可為AF_INET或AF_UNIX。AF_INET家族包括Internet地址,AF_UNIX家族用于同一臺機器上的進程間通信。

type參數(shù)代表套接字類型,可為SOCK_STREAM(流套接字)和SOCK_DGRAM(數(shù)據(jù)報套接字)。

2. 第二步是將socket綁定到指定地址。這是通過socket對象的bind方法來實現(xiàn)的:

socket.bind( address )

由AF_INET所創(chuàng)建的套接字,address地址必須是一個雙元素元組,格式是(host,port)。host代表主機,port代表端口號。如果端口號正在使用、主機名不正確或端口已被保留,bind方法將引發(fā)socket.error異常。

3. 第三步是使用socket套接字的listen方法接收連接請求。

socket.listen( backlog )

backlog指定最多允許多少個客戶連接到服務(wù)器。它的值至少為1。收到連接請求后,這些請求需要排隊,如果隊列滿,就拒絕請求。

4. 第四步是服務(wù)器套接字通過socket的accept方法等待客戶請求一個連接。

connection, address = socket.accept()

調(diào)

用accept方法時,socket會時入“waiting”狀態(tài)。客戶請求連接時,方法建立連接并返回服務(wù)器。accept方法返回一個含有兩個元素的

元組(connection,address)。第一個元素connection是新的socket對象,服務(wù)器必須通過它與客戶通信;第二個元素

address是客戶的Internet地址。

5. 第五步是處理階段,服務(wù)器和客戶端通過send和recv方法通信(傳輸

數(shù)據(jù))。服務(wù)器調(diào)用send,并采用字符串形式向客戶發(fā)送信息。send方法返回已發(fā)送的字符個數(shù)。服務(wù)器使用recv方法從客戶接收信息。調(diào)用recv

時,服務(wù)器必須指定一個整數(shù),它對應(yīng)于可通過本次方法調(diào)用來接收的最大數(shù)據(jù)量。recv方法在接收數(shù)據(jù)時會進入“blocked”狀態(tài),最后返回一個字符

串,用它表示收到的數(shù)據(jù)。如果發(fā)送的數(shù)據(jù)量超過了recv所允許的,數(shù)據(jù)會被截短。多余的數(shù)據(jù)將緩沖于接收端。以后調(diào)用recv時,多余的數(shù)據(jù)會從緩沖區(qū)

刪除(以及自上次調(diào)用recv以來,客戶可能發(fā)送的其它任何數(shù)據(jù))。

6. 傳輸結(jié)束,服務(wù)器調(diào)用socket的close方法關(guān)閉連接。

python編寫client的步驟:

1. 創(chuàng)建一個socket以連接服務(wù)器:socket = socket.socket( family, type )

2.使用socket的connect方法連接服務(wù)器。對于AF_INET家族,連接格式如下:

socket.connect( (host,port) )

host代表服務(wù)器主機名或IP,port代表服務(wù)器進程所綁定的端口號。如連接成功,客戶就可通過套接字與服務(wù)器通信,如果連接失敗,會引發(fā)socket.error異常。

3. 處理階段,客戶和服務(wù)器將通過send方法和recv方法通信。

4. 傳輸結(jié)束,客戶通過調(diào)用socket的close方法關(guān)閉連接。

下面給個簡單的例子:

server.py

client.py

1

2

3

4

5

6

7

8

9

10

11

12

import?socket

from?datetimeimport?datetime

address=?('localhost',6789)

max_size=1000

print("Start the client at

{}".format(datetime.now()))

client=?socket.socket(socket.AF_INET,socket.SOCK_STREAM)

client.connect(address)

client.sendall(b'Hey~~~')

data=?client.recv(max_size)

print("AT",datetime.now(),"some

reply"?, data)

client.close()

在終端運行server.py,然后運行clien.py

----------------------------------------------------------------------------------------------------------------------------------------------------------------

在python socket編程中,有兩個發(fā)送TCP的函數(shù),send()與sendall(),區(qū)別如下:

socket.send(string[,

flags])?發(fā)送TCP數(shù)據(jù),返回發(fā)送的字節(jié)大小。這個字節(jié)長度可能少于實際要發(fā)送的數(shù)據(jù)的長度。換句話說,這個函數(shù)執(zhí)行一次,并不一定能發(fā)送完給定的數(shù)據(jù),可能需要重復(fù)多次才能發(fā)送完成。

例子:

1

2

3

4

5

data=?"something you want to

send"

while?True:

len?=?s.send(data[len:])

if?not?len:

break

socket.sendall(string[,

flags])?看懂了上面那個,這個函數(shù)就容易明白了。發(fā)送完整的TCP數(shù)據(jù),成功返回None,失敗拋出異常

例子:

1

2

3

data=?"something you want to

send"

s.sendall(data)

總結(jié)

以上是生活随笔為你收集整理的python send 案例_python socket编程入门(编写server实例)+send 与sendall的区别与使用方法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久精品av | 色播导航 | 中文字幕高清在线免费播放 | 蜜臀视频在线观看 | 91精品人妻一区二区三区蜜桃欧美 | 久久嫩草精品久久久久 | 人体内射精一区二区三区 | 91视频首页| 国产刺激对白 | 瑟瑟视频在线免费观看 | 国产精品短视频 | 亚洲一二三不卡 | 九九热精品视频在线观看 | 九色蝌蚪9l视频蝌蚪9l视频 | 九九九九九精品 | 黄色欧美在线 | 亚洲av成人一区二区 | 久草超碰在线 | 国产av人人夜夜澡人人爽麻豆 | 日本成人黄色片 | 国产高清自拍一区 | missav | 免费高清av在线看 | gv天堂gv无码男同在线观看 | 日韩免费二区 | 欧美专区第一页 | 亚洲欧美bt| 爱综合网 | 日皮在线观看 | 国产精品88| 黄色视屏在线播放 | 亚洲天堂成人在线 | 亚州av在线播放 | 激情黄色小说网站 | 日韩中文一区二区三区 | 蜜桃在线一区二区三区 | 国产精品人人妻人人爽人人牛 | 国产精品入口夜色视频大尺度 | 亚洲二三区 | 日本美女黄色大片 | 亚洲av无码国产精品久久久久 | 男女男精品视频网站 | 国语对白久久 | 日韩欧美大片 | 亚洲精品无人区 | 这里只有精品视频在线观看 | 国产精品xxx在线观看 | 91在线播放视频 | 国产精品自拍一区 | 欧美人与性动交ccoo | 99精品视频免费看 | 国产任你操 | 亚洲视频在线一区二区 | 成人免费看片在线观看 | 国产精品18p | 97国产精品视频人人做人人爱 | 蜜桃视频一区二区三区 | 三级性生活视频 | 国产在成人精品线拍偷自揄拍 | 国产黄色录相 | 羞羞草影院 | 视频一区在线播放 | 亚洲午夜精品在线观看 | 黄色裸体网站 | 高h视频在线免费观看 | 福利综合网 | 国产天天综合 | 日韩有码中文字幕在线 | 污免费视频 | 69视频在线免费观看 | 在线免费观看亚洲视频 | 黄色成人av网站 | 国产免费a视频 | 欧美夫妻性生活视频 | 在线观看中文字幕视频 | 69xx欧美 | www.奇米| 成年人看的免费视频 | 青青草视频成人 | 亚洲激情二区 | 黄床大片 | 91一级视频 | 久久久亚洲精品视频 | 国产亚洲精品码 | 激情综合丁香五月 | 91成人精品| 日韩精品免费一区二区三区竹菊 | 狠狠婷婷 | 精品午夜久久 | 亚洲天堂中文字幕在线 | 电家庭影院午夜 | 韩国精品一区 | 国产精品免费电影 | 在线观看视频日韩 | 日本打白嫩屁股视频 | 9i看片成人免费 | 五月婷婷六月色 | 日韩的一区二区 | 亚洲天堂av电影 | 欧美乱插 |