1.tcp服務端程式設計
程式設計步驟
**如下:
"""
tcp服務端模組
"""# 引入需要的模組
import socket
# 定義連線資訊
host = ""
port = 8080
address = (host, port)
# 定義乙個讀寫資料的緩衝位元組大小
buffer = 1024
# 建立乙個tcp服務端套接字物件
tcp_server = socket.socket(socket.af_inet, socket.sock_stream)
# 繫結主機埠號
tcp_server.bind(address)
# 監聽埠:引數~排隊的客戶端
tcp_server.listen(5)
while true:
# 等待客戶端的介入,建立連線
print("waiting for connect....")
server_socket, addr = tcp_server.accept()
print("client already connect! welcome to server:", addr)
while true:
# 傳送乙個歡迎訊息給客戶端
info = input("請輸入您的訊息:")
server_socket.send(info.encode("utf-8"))
# 接受客戶端傳送的訊息
msg = server_socket.recv(buffer)
print("client:", msg.decode("utf-8"))
if msg == b"bye":
# 關閉套接字,釋放資源
server_socket.close()
break
# 程式結束時,關閉服務端
tcp_server.close()
2.tcp客戶端程式設計
程式設計步驟
**如下:
"""
tcp客戶端
"""# 引入需要的模組
import socket
# 定義連線資訊
target_host = "192.168.13.30"
target_port = 8080
target_address = (target_host, target_port)
buffer = 1024
# 建立乙個tcp套接字物件
tcp_client = socket.socket(socket.af_inet, socket.sock_stream)
# 連線指定的主機
tcp_client.connect(target_address)
# 收發訊息
while true:
# 接收伺服器資訊
msg = tcp_client.recv(buffer)
print("server:", msg.decode("utf-8"))
# 向伺服器傳送資訊
info = input("請輸入您要傳送的資訊:")
tcp_client.send(info.encode("utf-8"))
if info == "bye":
# 關閉套接字
tcp_client.close()
break
print("客戶端退出")
3.tcp服務端程式設計(物件導向)
程式設計步驟
**如下:
from socketserver import (tcpserver as tcp, streamrequesthandler as srh)
# 自定義請求處理型別
class myrequesthandler(srh):
# 重寫請求處理方法
def handle(self):
# 父類中:請求物件:self.request
print("乙個客戶端連線上來了", self.client_address)
# 傳送訊息
self.request.send("my name is server".encode("utf-8"))
# 接受訊息
info = self.request.recv(1024)
print(info.decode('utf-8'))
if __name__ == "__main__":
address = ('', 8080)
# 建立乙個tcp伺服器
tcp_server = tcp(address, myrequesthandler)
print("server is starting, waiting for connect....")
# 啟動伺服器
tcp_server.serve_forever()
4.tcp客戶端程式設計(物件導向)
程式設計步驟
**如下:
# 引入需要的模組
import socket
# 定義主機資訊
address = ("192.168.13.9", 8080)
buffer = 1024
# 建立套接字物件
tcp_client = socket.socket(socket.af_inet, socket.sock_stream)
tcp_client.connect(address)
# 收發訊息
while true:
# 接收訊息
recv_msg, addr = tcp_client.recv(buffer)
print(addr, recv_msg.decode("utf-8"))
# 傳送訊息
info = input("請輸入您的訊息:")
tcp_client.send(info.encode("utf-8"))
if info == "bye":
tcp_client.close()
1.udp服務端程式設計
程式設計步驟
**如下:
import socket
# 建立主機資訊
host = ""
port = 8080
address = (host, port)
buffer = 1024
# 建立乙個面向無連線套接字
udp_server = socket.socket(socket.af_inet, socket.sock_dgram)
# 套接字繫結位址
udp_server.bind(address)
print("伺服器正在等待連線中,請稍後。。。。。。")
# 收發訊息
while true:
recv_msg, addr = udp_server.recvfrom(buffer)
try:
print(addr, "\nserver say: ", recv_msg.decode("utf-8"))
except:
print(addr,"\nclient say: ",recv_msg.decode("gbk"))
info = input("請輸入您的訊息:")
udp_server.sendto(info.encode("utf-8"),addr)
udp_server.close()
2.udp客戶端程式設計
程式設計步驟
**如下:
import socket
# 建立主機資訊
host = "192.168.13.9"
port = 8080
address = (host, port)
buffer = 1024
# 建立乙個面向無連線套接字
udp_client = socket.socket(socket.af_inet, socket.sock_dgram)
# 收發訊息
while true:
info = input("請輸入您的訊息:")
udp_client.sendto(info.encode("utf-8"), address)
if info == "exit":
udp_client.close()
break
recv_msg, addr = udp_client.recvfrom(buffer)
try:
print(addr, "\nserver say: ", recv_msg.decode("utf-8"))
except:
print(addr, "\nserver say: ", recv_msg.decode("gbk"))
python網路程式設計 TCP網路程式設計
tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...
python 網路程式設計
今天晚上學習了一下python的網路程式設計,實現了client向server傳送資料,server反饋資訊 python 3.3 版本 server from socket import class tcpserver object def init self,serverport self.se...
python網路程式設計
網路通訊是計算機之間的程序之間的通訊。tcp程式設計 tcp連線建立是雙向通道,客戶端與服務端都可以給對方傳送資料。建立tcp連線時,主動發起連線的叫客戶端,被動響應連線的叫服務端。建立乙個tcp的socket連線 用socket family,type 建立套接字獲得socket物件。family...