from socket import *
server_name = "192.168.1.4"
server_port = 12000
# 建立客戶套接字
client_socket = socket(af_inet, sock_stream)
# 客戶向伺服器傳送tcp連線
client_socket.connect((server_name, server_port))
sentence = input('input lowercase sentence:')
# 通過tcp連線,客戶可以向伺服器傳送並接收位元組
client_socket.send(sentence.encode())
modified_sentence = client_socket.recv(1024)
print('from server: ', modified_sentence.decode())
# 關閉使用者套接字,關閉tcp連線
client_socket.close()
from socket import *
server_port = 12000
# 建立套接字
server_socket = socket(af_inet, sock_stream)
# 將伺服器的埠號和套接字關聯起來
server_socket.bind(('', server_port))
# 讓伺服器聆聽來自客戶端的tcp請求,請求連線的最大數至少為1
# 如果server_socket被關閉,就無法接收新的客戶端tcp請求
server_socket.listen(1)
print('the server is ready to receive.')
while true:
# 建立乙個由該使用者專用的新套接字,客戶與伺服器完成了握手
# tcp連線建立完成,客戶與伺服器現在可以通過該連線相互傳送位元組
connection_socket, addr = server_socket.accept()
sentence = connection_socket.recv(1024).decode()
capitalized_sentence = sentence.upper()
print('received from client ', addr, ": ", sentence)
connection_socket.send(capitalized_sentence.encode())
# 關閉該連線套接字,等待下乙個連線
TCP程式設計
基於tcp 伺服器 程式設計步驟 1.建立乙個socket,用函式socket 2.繫結ip位址 埠等資訊到socket上,用函式bind 3.設定允許的最大連線數,用函式listen 4.等待來自客戶端的連線請求,用函式accept 5.收發資料,用函式send 和recv 或者read 和wri...
TCP程式設計
客戶端 匯入socket庫 import socket 建立乙個socket。af inet指ipv4協議,如果要用ipv6則指定af inet6.sock stream指定使用面向流的tcp協議 s socket.socket socket.af inet,socket.sock stream 建...
tcp程式設計
tcp連線屬於三次握手 syn 用於向對方發起連線請求的標誌,規定帶syn標誌的資料報佔乙個位元組的編號。j是順序號,ack 是用於應答的標誌,規定除了第一次的syn請求的資料報沒有ack,後面所有的資料報都帶有ack應答標誌。傳送j 1。j 1 5 j 6.三次目的 為了防止伺服器被惡意請求。資料...