一、Python TCP Socket
-------------------------------------------------------
1.Server端
# -*- encoding=utf-8 -*-
import socket
# SOCK_STREAM表示 TCP协议,创建一个socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
sock.bind(("localhost",8888));
# 开启监听[0 -- 拒绝连接的个数]
sock.listen(0)
print("开始监听...")
buf = 1024
while True:
# 接收连接,阻塞的
(clientSock,clientAddr) = sock.accept()
print("有连接了" + str(clientAddr))
while True:
# 接收的client的数据[字节数组]
data = clientSock.recv(buf);
s = int.from_bytes(data,byteorder='little');
print("client say: %s" %(s))
# 发送消息给客户端
clientSock.send(b"received msg");
2.Client端
# -*- encoding=utf-8 -*-
import socket
import time
#开启套接字
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM);
# 建立连接
sock.connect(("localhost",8888));
index = 0;
while True:
b = index.to_bytes(4,byteorder="little");
sock.send(b)
index += 1;
time.sleep(2)
# 接收服务器发送来的消息
recv=sock.recv(1024)
print('[tcpServer said]: %s' % recv)
二、Python UDP Socket
---------------------------------------------------
1.Sender方
# -*- encoding=utf-8 -*-
import socket
# SOCK_DGRAM表示 UDP协议,创建一个socket
sender = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定地址和端口[接收数据的端口]
sender.bind(("localhost",9999));
print("启动了UDP发送者...")
buf = 1024
index = 0;
while True:
# 发送数据
msg = "hello:" + str(index);
msgBytes = msg.encode("utf-8");
# 向localhost:8888发送数据
sender.sendto(msgBytes,("localhost",8888));
print("发送了" + msg)
import time
time.sleep(2)
index +=1
2.Receiver方
# -*- encoding=utf-8 -*-
import socket
# SOCK_DGRAM表示 UDP协议,创建一个socket
receiver = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定地址和端口
receiver.bind(("localhost",8888));
print("启动了UDP接收者...")
buf = 1024
while True:
# 接收数据,永不停止,一直接收
(data,clientAddr) = receiver.recvfrom(buf)
mag = bytes.decode(data);
print("接收到来自" + str(clientAddr[1]) + "的数据:" + mag);
Python基础(五)--- Python TCP Socket,Python UDP Socket
最新推荐文章于 2025-04-23 01:20:18 发布
本文深入讲解Python中的Socket编程,包括TCP和UDP两种主要协议的使用方法。通过详细的代码示例,介绍了如何创建Server端和Client端,实现数据的收发。适合初学者快速掌握网络编程的基础知识。
430

被折叠的 条评论
为什么被折叠?



