服务器端代码
import socket
def server():
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
port = 9999
# 绑定端口号
server_socket.bind((host, port))
# 设置最大连接数,超过后排队
server_socket.listen(5)
while True:
# 建立客户端连接
client_socket, addr = server_socket.accept()
print('连接地址: %s' % str(addr))
# 接收客户端发送的数据
data = client_socket.recv(1024)
data = data.decode('utf-8')
print('接收数据: %s' % data)
# 将数据转换为大写形式
upper_data = data.upper()
# 发送数据到客户端
client_socket.send(upper_data.encode('utf-8'))
# 关闭客户端连接
client_socket.close()
if __name__ == '__main__':
server()
客户端代码
import socket
def client():
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
port = 9999
# 连接服务,指定主机和端口
client_socket.connect((host, port))
message = 'Hello, Server!'
# 发送数据到服务器
client_socket.send(message.encode('utf-8'))
# 接收服务器返回的数据
data = client_socket.recv(1024)
data = data.decode('utf-8')
print('接收数据: %s' % data)
# 关闭连接
client_socket.close()
if __name__ == '__main__':
client()