TCP服务端
from socket import *;
from time import ctime;
host = "localhost";#服务器地址
port = 8888;#端口
#创建Socket
tcpSocket = socket(AF_INET, SOCK_STREAM);
#绑定
tcpSocket.bind((host, port));
#设置最大连接数,超过后排队
tcpSocket.listen(5);
while True:
#建立连接
connect, addr = tcpSocket.accept();
while True:
#接收客户端发来的数据并且小于1024字节的数据
data = connect.recv(1024);
#如果客户端退出,则执行以下语句
if not data:
break;
#转换
data_result = str(data, "utf-8");
print(data_result);
recv_result = bytes(ctime(), "utf-8");
#发送数据给客户端
connect.sendall(recv_result);
#关闭连接套接字
connect.close();
#关闭套接字
tcpSocket.close();
TCP客户端
from socket import *;
host = "localhost";#服务器地址
port = 8888;#端口
#创建Socket
tcpSocket = socket(AF_INET, SOCK_STREAM);
#与服务端建立连接
tcpSocket.connect((host, port));
while True:
send_info = input(">");
#如果输入exit,则执行以下语句
if send_info == "exit":
break;
#发送数据给服务端
tcpSocket.sendall(bytes(send_info, "utf-8"));
#接收服务端的数据
recv_info = tcpSocket.recv(1024);
print("服务端返回的内容是:" + str(recv_info, "utf-8"));
#关闭套接字
tcpSocket.close();
================================================================================
UDP服务端
from socket import *;
from time import ctime;
host = "localhost";#服务器地址
port = 8888;#端口
bufsiz = 1024;#字节
add = (host, port);
# 创建socket
udpSocket = socket(AF_INET, SOCK_DGRAM);
# 绑定
udpSocket.bind(add);
while True:
print("waiting for message...");
#接收udp数据, 数据以字符串形式返回
data, addr = udpSocket.recvfrom(bufsiz);
#转换
data_result = str(data, "utf-8");
print(data);
ret = bytes(ctime(), "utf-8");
#发送信息给客户端
udpSocket.sendto(ret, addr);
print(addr);
#关闭套接字
udpSocket.close();
UDP客户端
from socket import *;
host = "localhost";#服务器地址
port = 8888;#端口
addr = (host, port);
#创建socket
udpSocket = socket(AF_INET, SOCK_DGRAM);
while True:
data = input(">");
if data == "exit":
break;
send_result = bytes(data, "utf-8");
#发送数据给服务端
udpSocket.sendto(send_result, addr);
#接收服务端反馈的信息
data, addr = udpSocket.recvfrom(1024);
print(str(data, "utf-8"));
#关闭套接字
udpSocket.close();