python SOCKET程式設計基礎入門

2022-09-26 00:27:09 字數 2220 閱讀 1588

1.客戶端c程式設計客棧lient:發起訪問的一方。

2.伺服器端

3.server段程式設計

(1)建立socket,socket是負責具體通訊的乙個例項

(2)繫結,為建立的socket指派固定的埠和ip位址

(3)接受對方傳送內容

(4)給對方傳送反饋,此步驟為非必須步驟

4.client端程式設計

(1)建立通訊的socket

(2)傳送內容到指定伺服器

(3)接受伺服器給定的反饋內容

5.模擬一下這個過程

(1)我們先建立乙個伺服器的函式

#伺服器案例

import socket

​#模擬伺服器的函式

def serverfunc():

#1.建立socket

#socket.af_inet:使用ipv4協議族

#socket.sock_dgram:使用udp通訊

sock = socket.socket(socket.af_inet,socket.sock_dgram)

#2.繫結ip和port

​ #127.0.01:這個ip位址代表的是機器本身

#7852:隨機指定的埠號

#位址是乙個tuple型別,(ip.port)

addr = ("127.程式設計客棧0.0.1",7852)

sock.bind(addr)

​ #接受對方訊息

#等待方式為死等,沒有其他可能性

#recvfrom接受的返回值是乙個元組,前一項表示資料,後一項表示位址

#引數的含義是緩衝區大小

#rst = sock.recvfrom(500)

data,addr = sock.recvfrom(500)

​ print(data)

print(type(data))

​ #傳送過來的資料是bytes格式,必須通過解碼才能得到str格式內容

#decode預設引數是utf8

text = data.decode()

print(type(text))

print(text)

​ #給對方反饋的訊息

rsp = "i am very hungry now"

​ #傳送的資料需要程式設計成bytes格式

#預設時utf8

data = rsp.encode()

sock.sendto(data,addr)

if __name__ == "__main__":

p程式設計客棧rint("start server")

serverfunc()

print("end server")

(2)然後建立乙個客戶端的函式

import socket

def clientfunc():

sock = socket.socket(socket.af_inet,socket.sock_dgram)

text = "you are very cool"

​ #傳送的資料必須是bytes格式

data = text.encode()

#傳送sock.sendto(data,("127.0.0.1",7852))

data,addr =sock.recvfrom(200)

​ data = data.decode()

print(text)

​if __name__ == "__main__":

print("start client")

client

print("end client")

(3)我們先啟動伺服器端函式

出現如下影象,它是建立了乙個sock,然後自己繫結到127.0.0.1:7852,執行到sock.recvfrom(500)這裡死等客戶端發訊息

(4)再啟動客戶端函式

出現如下傳送編碼後的​text內容到伺服器(127.0.0.1:7852),伺服器成功接收後返回youwww.cppcns.com are cool這句話。

(5)我們再看伺服器的函式那裡

接受了bytes格式的字串,並列印出來了,然後再解碼列印出來,最後把you are cool返回​客戶端。

(6)這裡有個地方沒有辦法:因為我們在一台電腦上做的測試,所以相當於自言自語,​不如在兩台電腦上進行試驗。​

d33_1_serverprogramme.py

d33_2_clientprogramme.py

Python Socket 程式設計

client import socket,sys if name main 處理引數 argv sys.argv if len argv 3 or len argv 2 and argv 1 print useage argv 0 sys.exit 0 host argv 1 server ip位址...

python socket程式設計

python 編寫server的步驟 1.第一步是建立socket物件。呼叫socket建構函式。如 socket socket.socket family,type family引數代表位址家族,可為af inet或af unix。af inet家族包括internet位址,af unix家族用於...

python socket程式設計

客戶端 author lenovo fromsocketimport host localhost port 2157 bufsize 1024 addr host,port tcpclient socket af inet,sock stream tcpclient.connect addr wh...