PythonTCP網路程式設計及應用

2021-10-07 10:07:37 字數 2719 閱讀 2147

1、tcp服務端的建立

import socket

# 建立tcp套接字

sockfd = socket.socket(socket.af_inet, socket.sock_stream)

# 繫結位址

sockfd.bind(

('0.0.0.0'

,6663))

# 設定監聽

sockfd.listen(2)

# 等待客戶端連線

while

true

:print

('waiting for connect.....'

)try

: connfd, addr = sockfd.accept(

)print

('connect from '

.format

(addr)

)except keyboardinterrupt as e:

break

# 收訊息

while

true

: data = connfd.recv(5)

ifnot data:

break

print

("接受到來自的"

.format

(addr, data.decode())

)# 發資訊

num = connfd.send(b'thanks'

)print

('send bytes'

.format

(num)

)# 關閉連線

connfd.close(

)sockfd.close(

)

2、tcp客戶端的建立

import socket

sockfd = socket.socket(socket.af_inet, socket.sock_stream)

# 連線伺服器

sockfd.connect(

('127.0.0.1'

,8888))

print

('連線到服務端...'

)# 收發資訊

while

true

: msg =

input

('>>'

)if msg =='':

break

num = sockfd.send(msg.encode())

data = sockfd.recv(

1024

)print

('from server:'

.format

(data.decode())

)sockfd.close(

)

3、tcp的應用—檔案上傳

"""

檔案上傳服務端

"""import socket

sockdf = socket.socket(

)sockdf.bind(

('0.0.0.0'

,8888))

sockdf.listen(5)

print

('waiting for connect.....'

)connfd, addr = sockdf.accept(

)print

('connect from '

.format

(addr)

)filename = connfd.recv(

1024

).decode(

)f =

open

('/home/xiaohuo/pycharmprojects/project/network_programming/'

+filename,

'wb'

)while

true

: data = connfd.recv(

1024

)if data == b'ok'

:break

f.write(data)

f.close(

)connfd.close(

)sockdf.close(

)"""

檔案上傳客戶端

"""import socket, time

sockdf = socket.socket(

)sockdf.connect(

('127.0.0.1'

,8888))

filename =

input

('file_dir:'

)f =

open

(filename,

'rb'

)sockdf.send(

(filename.split(

'/')[-

1]).encode())

while

true

: data = f.read(

1024)if

not data:

time.sleep(

0.1)

sockdf.send(

'ok'

.encode())

break

sockdf.send(data)

f.close(

)sockdf.close(

)

Python TCP程式設計

tcp 對於tcp,我想大部分同學不會陌生。tcp是乙個網路層協議,通過tcp可以建立客戶端到伺服器的連線,並相互傳遞資料。那麼在python中如何使用tcp來做一些操作呢?socket socket在網路程式設計中,是乙個抽象概念。我們用socket來表示開啟了乙個從客戶端到伺服器或者從伺服器到客...

Python tcp程式設計

1 客戶端 coding utf 8 udp穩定性不好,tcp對包有檢查建立通道 建立連線 上傳流量以部分是上傳的應答 這之中還包括超時重傳,錯誤校驗,流量控制和阻塞管理。檔案分塊傳輸 import socket def main 1.建立tcp的套接字 tcp socket socket.sock...

python TCP程式設計再試牛刀

該示例演示的是c s服務模型,server端接收來自客戶端的請求,然後只是很簡單地給客戶端返回 hello 來自客戶端的原文。核心在於兩端socket的建立和連線以及資料的傳送和接收。server端 server.py coding utf 8 created on 2016年8月3日 author...