#服務端
import socket
buffersize=10
sock=socket.socket(socket.af_inet,socket.sock_stream)
sock.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)#這一條配置為了防止出現[error] address already in use這個錯誤'''
第乙個引數位置是協議簇
socket.af_inet是ipv4
socket.af_inet6是ipv6
第二引數位置是傳輸型別
socket.sock_stream是流式型別,tcp
socket.sock_dgram是資料報型別,udp'''
sock.bind(('127.0.0.1',8000))
sock.listen(10)#可以同時建立十個連線
while true:
conn,addr=sock.accept()
print('已接受連線')
while true:
try:
lenth_data=conn.recv(4)
lenth=struct.unpack('i',lenth_data)[0]
n= lenth // buffersize
m= lenth % buffersize
l=[conn.recv(buffersize) for i in range(n)]
if l:
ifm: remain = conn.recv(m)
recv_mess = ''.encode().join(l) + remain
else:
recv_mess = ''.encode().join(l)
else:
recv_mess=conn.recv(m)
if recv_mess.decode('utf8'):
print(recv_mess.decode('utf8'))
lenth_backdata=struct.pack('i',len('訊息已收到'.encode('utf8')))
conn.send(lenth_backdata)
conn.send('訊息已收到'.encode('utf8'))
except exception:
break
conn.close()
#客戶端
import socket
import struct
buffersize=5
sock=socket.socket(socket.af_inet,socket.sock_stream)
sock.connect(('127.0.0.1',8000))#連線伺服器
while true:
data=input('>>')
if data=='':
continue
if data=='q':
break
sock.send(struct.pack('i',len(data.encode('utf8'))))# 傳送頭部
sock.send(data.encode()) #傳送資料
lenth_data = sock.recv(4)
lenth = struct.unpack('i', lenth_data)[0]#接收頭部,
#接收資料
n = lenth // buffersize
m = lenth % buffersize
l = [sock.recv(buffersize) for i in range(n)]
if l:
ifm: remain = sock.recv(m)
recv_mess = ''.encode().join(l) + remain
else:
recv_mess = ''.encode().join(l)
else:
recv_mess = sock.recv(m)
print(recv_mess.decode('utf8')
python學習第二十天
1.多繼承 繼承 x是一種y的時候.可以使用繼承關係.is a 乙個類同時繼承多個類 python,c 孫悟空是一種猴子,還是一種神仙 2.經典類的mro 通過數型結構的深度優先遍歷 一條道走到黑 從左往右 3.新式類的mro 重點,難點 c3演算法 先拆分再合併 第一項的頭和後面所有項的尾進行比較...
Linux C學習第二十天
棧和佇列 棧 後進先出 新增元素 壓棧 刪除元素 出棧 棧的實現 1.順序棧。2.鏈式棧 棧最頂端的元素叫棧頂元素。順序棧 標頭檔案 ifndef stack h define stack h define size 10 typedef enum bool typedef int data typ...
第二十天 繼承
繼承指的是新建類的方法 新建的類稱之為子類或者派生類 子類繼承的類叫做父類,也 稱之為基類或超類 子類可以繼承父類的屬性 特徵與技能 並且可以派生出自己的屬性 特徵與技能 繼承的目的是為了減少 冗餘 減少重複 抽象指的是抽取相似的部分,稱之為抽象.物件是特徵與技能的結合體.類是一系列物件相同的特徵與...