python 網路程式設計

2021-08-24 20:56:33 字數 4565 閱讀 7155

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...