網路層是位址簇
#客戶端寫法
import socket
client = socket.socket(
)#宣告socket型別,同時生成socket連線物件
client.connect(
('localhost'
,6969))
#連線本地埠
client.send(
"hello world"
)data = client.recv(
1024
)#1024位元組
print
("recv:"
,data)
client.close(
)
#伺服器端
import socket
server = socket.socket(
)server.bind(
('localhost'
,6969))
#繫結要監聽埠
server.listen(
)#監聽
print
("我要開始等**了"
)conn,addr=server.accept(
)#等**打進來
#conn就是客戶端連過來而在伺服器端為其生成的乙個連線例項
print
("**來了"
)data=conn.recv(
1024
)print
("recv:"
,data)
conn.send(data.upper())
server.close(
)
傳輸中文,改以下**
client.send(
.encode(
"utf-8"))
data = client.recv(
1024
)#1024位元組
print
("recv:"
,data.decode(
))
同一組物件來回傳送
#客戶端寫法
import socket
client = socket.socket(
)#宣告socket型別,同時生成socket連線物件
client.connect(
('localhost'
,6969))
#連線本地埠
while
true
: msg =
input
(">>:"
).strip(
) client.send(msg.encode(
"utf-8"))
data = client.recv(
1024
)#1024位元組
print
("recv:"
,data.decode())
client.close(
)
#伺服器端
import socket
server = socket.socket(
)server.bind(
('localhost'
,6969))
#繫結要監聽埠
server.listen(
)#監聽
print
("我要開始等**了"
)while
true
: conn,addr=server.accept(
)#等**打進來
#conn就是客戶端連過來而在伺服器端為其生成的乙個連線例項
print
("**來了"
) count =
0while
true
: data=conn.recv(
1024
)print
("recv:"
,data)
ifnot data:
print
("client has lost.."
)break
conn.send(data.upper())
count+=
1if count>10:
break
server.close(
)
伺服器端:
客戶端:
socket 粘包
ftp server
1.讀取檔名
2.檢測檔案是否存在
3.開啟檔案
4.檢測檔案大小
5.傳送檔案大小和md5給客戶端,md5
6.等客戶端確認
7.開始邊讀邊發資料
8.md5 sum 驗證
Drupal入門教程之
點選導航 管理 reports 進入站點狀態報告頁程式設計客棧面。站點狀態報告頁面會列出當前系統的運 況,以及各個元件是否正常運轉。例如配置檔案的許可權 資料庫的狀態 檔案系統狀態等。預設安裝好drupal6以後,reports中只有一項,如果開啟其他模組,此項將有相應內容新增。點選 狀態報告 進入...
Phalcon入門教程之模型
原文發表於 phalcon入門教程之模型phalcon提供了四種方式操作mysql資料庫 模型 phql 資料庫抽象層以及原生sql。不論何種方式,首先都需要在di中註冊db服務才能正常使用 di setshared db function use config connection new pha...
微信小程式入門教程之網路請求
前文講配置的時候我們說過,開發小程式時可以選擇有 appid 和 無 appid 兩種方式。1.當有appid的情況下,進行網路通訊,只能和指定的網域名稱進行通訊。如果沒有進行配置,編譯時會報如下錯誤 配置方法 設定網域名稱 需要在微信公眾平台的小程式中設定網域名稱。在微信小程式的設定介面可以看到設...