使用Socket庫進行TCP程式設計

2021-10-21 21:23:35 字數 1899 閱讀 7103

2.客戶端tcp連線

執行結果

# 匯入socket庫及依賴庫

import socket

import threading

import time

# 建立tcp連線

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

# 繫結位址及監聽埠

s.bind(

('127.0.0.1'

,6666

))

# 呼叫listen方法監聽埠

s.listen(5)

print

('wait for connection...'

)

# 建立伺服器端應答函式

deftcp

(sock, addr)

:print

('accept new connecton from %s:%s...'

% addr)

sock.send(

b'success!'

)while

true

: data=sock.recv(

1024

) time.sleep(1)

ifnot data or data.decode(

'utf-8')==

'exit'

:break

sock.send(

('welcome! %s!'

% data.decode(

'utf-8'))

.encode(

'utf-8'))

sock.close(

)print

('connection from %s:%s closed.'

% addr)

# 迴圈處理客戶端連線

while

true

:# 接受來自客戶端的新連線

sock, addr = s.accept(

)# 建立新執行緒來處理tcp連線

t=threading.thread(target=tcp, args=

(sock, addr)

) t.start(

)

# 匯入socket庫

import socket

# 建立tcp連線

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

# 與伺服器建立連線

s.connect(

('127.0.0.1'

,6666))

# 接收伺服器的連線成功提示資訊

print

(s.recv(

1024

).decode(

'utf-8'))

# 傳送資料並接收伺服器返回的結果

for data in

[b'tom'

,b'jerry'

,b'spike']:

s.send(data)

print

(s.recv(

1024

).decode(

'utf-8'))

# 傳送退出資訊斷開連線

s.send(

b'exit'

)s.close(

)

success!

welcome! tom!

welcome! jerry!

welcome! spike!

>>

>

TCP和UDP的區別及socket網路程式設計步驟

tcp和udp的區別 1.連線 tcp是面向連線的傳輸層協議,即傳輸資料之前必須先建立好連線。udp無連線。2.服務物件 tcp是點對點的兩點間服務,即一條tcp連線只能有兩個端點 udp支援一對一,一對多,多對一,多對多的互動通訊。3.可靠性 tcp是可靠交付 無差錯,不丟失,不重複,按序到達。u...

socket套接字 TCP使用

使用流程 建立套接字 connect鏈結tcp伺服器 命令 socket物件.connect 伺服器ip,伺服器port 3.收 發資料recv 接收資料的大小 send 傳送資料 4.關閉套接字 import socket def main 建立socekt物件 tcp socket socket...

Python 使用socket編寫TCP服務程式

使用socket編寫tcp服務程式 by 鄭瑞國 1 引用網路模組socket 2 建立乙個tcp網路套接字s 3 繫結本機ip位址和指定埠號 4 開始監聽 5 接受連線 6 接受資訊 import socket 1 引用網路模組socket s socket.socket socket.af in...