1. client客戶端
import socket
def main():
# 建立乙個udp套接字
udp_socket = socket.socket(socket.af_inet, socket.sock_dgram)
# 從鍵盤獲取資料
send_data=input("請輸入要傳送的內容:")
# 使用套接字收發資料
udp_socket.sendto(send_data.encode("utf-8"),("127.0.0.1",7788) )
# 關閉套接字
udp_socket.close()
if __name__ == "__main__":
main()
2. server服務端
import socket
def main():
# 1.建立套接字
udp_socket = socket.socket(socket.af_inet, socket.sock_dgram)
# 2.繫結乙個本地資訊(元組),必須繫結自己電腦的ip以及port,其他的不行
localaddr = ("", 7788) # 自己的ip可以使用空字串代替
udp_socket.bind(localaddr)
# 3.接收資料
recv_data = udp_socket.recvfrom(1024)
# recv_data 這個變數中儲存的三乙個元組(接收到的資料,(傳送方的ip,port))
recv_message = recv_data[0] # 資料
send_addr = recv_data[1][0] # 位址
send_port = recv_data[1][1] # 埠
# 4.列印接收資料
# print("%s:%s:%s" % (send_addr, send_port, recv_message.decode("gbk"))) # windows預設編碼gbk,所以使用utf-8解碼會錯誤
print("%s:%s:%s" % (send_addr, send_port, recv_message.decode("utf-8"))) # 使用gbk解碼沒有問題
# 5.關閉套接字
udp_socket.close()
if __name__ == "__main__":
main()
執行:
同時執行客戶端和服務端,通過客戶端向服務端傳送訊息實現通訊
1. client客戶端
import socket
def main():
# c建立套接字
tcp_client_socket = socket.socket(socket.af_inet, socket.sock_stream)
# 連線 connect
server_ip = input("ip:")
server_port = int(input("port"))
server_addr = (server_ip, server_port)
tcp_client_socket.connect(server_addr)
# 傳送資料send
send_data = input("typing something..:")
tcp_client_socket.send(send_data.encode("utf-8"))
# 關閉 close
tcp_client_socket.close()
if __name__ == "__main__":
main()
2. server服務端
import socket
def main():
# 建立
tcp_server_socket = socket.socket(socket.af_inet, socket.sock_stream)
# 繫結
tcp_server_socket.bind(("", 7890))
# 監聽
tcp_server_socket.listen(128)
# 等待
new_client_socket, client_addr = tcp_server_socket.accept()
# 顯示訊息內容
print(client_addr)
recv_data = new_client_socket.recv(1024)
print(recv_data.decode("utf-8"))
# 傳送一條訊息給客戶端
new_client_socket.send("hahahahahahhaha".encode("utf-8"))
# 關閉套接字
tcp_server_socket.close()
new_client_socket.close()
if __name__ == "__main__":
main()
執行:
python網路程式設計 socket套接字
本文目錄 一 socket 二 tcp伺服器 三 tcp客戶端 四 udp伺服器 五 udp客戶端 六 聊天的客戶端 七 聊天的伺服器 學習網路程式設計 其實就是在學socket主要控制傳輸資料的方式 tcp的傳輸方式 優點 通過三次握手來與伺服器建立連線 可以保證資料的完整性 a機器給b機器傳送資...
套接字 Socket 定義
套接字介面可分為三類 公認埠 註冊埠 動態和 或私有埠 套接字,簡單的說就是通訊的兩方的一種約定,用套接字中的相關函式來完成通訊過程 應用層通過傳輸層進行資料通訊時,tcp和udp會遇到同時為多個應用程式程序提供併發服務的問題。多個tcp連線或多個應用程式程序可能需要通過同乙個 tcp協議埠傳輸資料...
socket 套接字通訊
要通過internet進行通訊,至少需要一對套接字,其中乙個執行在客戶端,稱之為clientsocket,另乙個執行於伺服器端面,稱為serversocket。根據連線啟動的方式以及本地要連線的目標,套接字之間的連線過程可以分為三個步驟 伺服器監聽 客戶端請求 連線確認。伺服器監聽是指服務端套接字並...