python 網路程式設計socket(TCP)

2022-05-11 16:32:56 字數 2729 閱讀 5929

服務端:

import

socket

sk = socket.socket() #

建立物件

sk.setsockopt(socket.sol_socket,socket.so_reuseaddr,1) #

避免伺服器重啟時報address already in use錯誤

sk.bind(('

127.0.0.1

',8877)) #

把位址繫結到套接字(ip位址,埠號)

sk.listen() #

監聽鏈結

conn,addr = sk.accept() #

接受客戶端鏈結

ret = conn.recv(1024) #

接受客服端資訊(資料長度)

print(ret) #

列印客戶端資訊

conn.send(b'

hi') #

向客戶端傳送星系(必須是bytes型別)

conn.close() #

關閉客戶端連線

sk.close() #

關閉伺服器套接字

客戶端:

import

socket

sk = socket.socket() #

建立物件

sk.connect(('

127.0.0.1

',8877)) #

連線伺服器(ip位址,埠號)

sk.send(b'

hello

') #

向伺服器傳送資訊(必須是bytes型別)

ret = sk.recv(1024) #

接收資訊(資料大小)

print(ret) #

列印資訊

sk.close() #

關閉物件

有收必有發,收發必相等,send和rexv必須是對應的

send  -----  recv

send  -----  recv

recv  -----  send

傳遞中文:

#

服務端#

接收中文

ret = conn.recv(1024).encode('utf-8')

print(ret) #列印#

傳送中文

conn.send(bytes('

七點半',encoding='

utf-8'))

#客戶端

#傳送中文

sk.send(bytes('

幾點了'.encode('

utf-8

')))

#接收中文

ret = sk.recv(1024).encode('utf-8')

print(ret) #

列印

例項:聊天

服務端:

import

socket

sk = socket.socket() #

建立物件

sk.setsockopt(socket.sol_socket,socket.so_reuseaddr,1) #

避免伺服器重啟時報address already in use錯誤

sk.bind(('

127.0.0.1

',8877)) #

把位址繫結到套接字(ip位址,埠號)

sk.listen() #

監聽鏈結

conn,addr = sk.accept() #

接受客戶端鏈結

while

true:

ret = conn.recv(1024).decode('

utf-8')

print

(ret)

if ret == '

bye'

: conn.send(b

'bye')

break

info = input('

>>>')

conn.send(bytes(info,encoding='

utf-8'))

conn.close()

#關閉客戶端連線

sk.close() #

關閉伺服器套接字

客戶端:

import

socket

sk = socket.socket() #

建立物件

sk.connect(('

127.0.0.1

',8877)) #

連線伺服器(ip位址,埠號)

while

true:

info = input('

>>>')

sk.send(bytes(info,encoding='

utf-8'))

ret = sk.recv(1024).decode('

utf-8')

print

(ret)

if ret == '

bye'

: sk.send(b

'bye')

break

sk.close()

#關閉物件

python 網路程式設計學習 套接字socket

以前也學過套接字程式設計,這次想系統全面的學習下python網路程式設計的使用。做這個,為檢測進度,也為後續留下筆記和足跡。socket 常用函式 socket.gethostname socket.gethostbyname import socket host socket.gethostnam...

Python網路程式設計學習筆記一 socket模組

coding utf 8 主要測試python網路程式設計中socket模組的使用 涉及到的技術點 套接字 面向連線的還有非面向連線套接字 tcp面向連線 udp非面向連線 1 匯入socket 2 建立socket socket三要素 1 socket family,2 socket type 3...

python網路程式設計 TCP網路程式設計

tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...