Python Socket程式設計

2022-09-13 21:09:21 字數 1777 閱讀 5048

1、客戶端

import

socket

sk = socket.socket() #

買個手機

sk.connect(('

127.0.0.1

',8080)) #

撥號ret = sk.recv(1024)

print

(ret)

sk.send(b

'byebye!')

sk.close()

2、服務端

import

socket

sk = socket.socket() #

建立了乙個socket物件

sk.bind(('

192.168.21.36

',8080)) #

繫結一台機器的(ip,埠)

#回環位址 - 指向自己這台機器

sk.listen() #

建立監聽等待別人連線

conn,addr = sk.accept() #

阻塞:在這裡等待直到接到乙個連線

#conn是連線

#addr是對方的位址

print

(conn)

print

(addr)

conn.send(b

'hello

') #

和對方打招呼

msg = conn.recv(1024) #

對方和我說的話

#有髮必有收 收發必相等

print

(msg)

conn.close()

#掛**

sk.close() #

關機

udp的server不需要進行監聽也不需要建立連線,在啟動服務值周,只能被動的等待客戶端傳送訊息過來

客戶端傳送訊息的同時還會自帶位址資訊,訊息回覆的時候,不僅需要傳送訊息,還需要把自己的位址傳送過去

1、客戶端

import

socket

sk = socket.socket(type=socket.sock_dgram)

sk.sendto(b

'hello

',('

127.0.0.1

',8080)) #

直接給伺服器傳送一段訊息

msg,addr = sk.recvfrom(1024) #

接收對面的回信

print

(msg)

sk.close()

2、服務端

import

socket

sk = socket.socket(type=socket.sock_dgram) #

建立乙個socket物件,

#指定以udp協議的形式來連線

sk.bind(('

127.0.0.1

',8080))

#指定服務的位址

msg,addr = sk.recvfrom(1024) #

接收訊息,傳送端的位址

print

(msg,addr)

sk.sendto(b

'hello

',addr) #

給傳送端回覆訊息

sk.close()

#關閉socket連線

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...