python入門教程之十九網路程式設計socket

2021-09-24 23:10:56 字數 3051 閱讀 1146

網路層是位址簇

#客戶端寫法

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的情況下,進行網路通訊,只能和指定的網域名稱進行通訊。如果沒有進行配置,編譯時會報如下錯誤 配置方法 設定網域名稱 需要在微信公眾平台的小程式中設定網域名稱。在微信小程式的設定介面可以看到設...