1、建立套接字
2、繫結本地埠(客戶端也就可以不繫結,不繫結時系統隨機開啟乙個埠)
3、連線伺服器位址
4、傳送或接收伺服器資料
5、關閉套接字
tcp傳送資料例項:
import socket
# 定義伺服器連線函式
def tcpclient_to_sever(tcp_soctet):
tcp_soctet.connect((addr,addr_port))
def main():
# 建立套接字
tcp_socket = socket.socket(socket.af_inet,socket.sock_stream)
tcpclient_to_sever(tcplitsen_socket)
while true: # 迴圈傳送資料
send_data = input("請輸入要傳送的內容:")
tcp_socket.send(send_data.encode("gbk"))
if send_data == "exit":
break
# 關閉套接字
tcp_socket.close()
if __name__ == "__main__":
main()
測試:
1、建立監聽套接字
2、繫結本地埠號(必須)
3、listen開始tcp連線監聽
4、accep 被動接受tcp客戶端連線,(阻塞式)等待連線的到來,連線到來時建立於客戶端通訊的套接字
5、接收客戶端資料/傳送客戶端資料
6、關閉客戶端通訊的套接字套接字
7、關閉監聽套接字
import socket
def main():
# 建立套接字,使用ipv4 tcp連線
tcp_socket = socket.socket(socket.af_inet, socket.sock_stream)
# 繫結埠
tcp_socket.bind(("",12335))
# 偵聽客戶端連線
tcp_socket.listen(125)
# while true:
# conn是與客戶端通訊所用的套接字 addr為ip位址與埠的元組
conn,addr = tcp_socket.accept()
print(str(addr))
# 迴圈接收tcp客戶端資訊
while true:
recv_date = conn.recv(1024)
print(recv_date.decode("gbk"))
# 當recv_date中沒有資料時,代表客戶端呼叫了close方法斷開連線
if recv_date:
conn.send(b"hello")
else:
break
conn.close()
# 關閉套接字
tcp_socket.close()
if __name__ == "__main__":
main()
測試: pyhon學習之網路程式設計
一 python中的網路程式設計。1.需要使用的模組socket socket是程序間的一種通訊方式,可以實現不同主機間的資料傳輸。python中內建有socket模組,我們需要應用該模組的socket 方法建立乙個物件。2.tcp服務端的建立 usr bin python coding utf 8...
TCP網路程式設計
基於tcp 通訊模型 由上圖可以得出tcp通訊的步驟如下 服務端 1 建立乙個socket,用函式socket 2 繫結ip位址 埠等資訊到socket上,用函式bind 3 設定允許的最大連線數,用函式listen 4 等待來著客戶端的連線請求,用函式accept 5 收發資料,用函式send 和...
網路程式設計 TCP
客戶端 1.建立客戶端的socket服務,指定目的主機和埠 2.為了傳送資料,應該獲取socket中的輸出流 3.獲取socket中的輸入流來獲取服務端的反饋資料 4.關閉資源 服務端 1.建立服務端的serversocket服務,並監聽乙個埠 2.通過accept方法 等待並獲取連線過來的客戶端s...