import socket def server(): # 获取主机名 hostname = socket.gethostname() # 获取本机 IP ip_address = socket.gethostbyname(hostname) print("本机IP地址是:", ip_address) # 创建一个TCP/IP套接字 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定套接字到指定端口 server_address = ('192.168.0.11', 8888) server_socket.bind(server_address) # 监听连接请求 server_socket.listen(1) print('服务器已启动,等待客户端连接...') while True: # 等待客户端连接 client_socket, client_address = server_socket.accept() print('客户端已连接:', client_address) try: while True: # 接收客户端发来的数据 data = client_socket.recv(1024).decode() if not data: break print('接收到客户端消息:', data) # 将接收到的消息转换为大写 data_upper = data.upper() # 发送转换后的消息给客户端 client_socket.sendall(data_upper.encode()) print('发送给客户端的消息:', data_upper) finally: # 关闭客户端连接 client_socket.close() server()
服务器已启动,等待客户端连接...
客户端已连接: ('192.168.0.11', 4129)
接收到客户端消息: ABCabc
发送给客户端的消息: ABCABC
import socket
def client():
# 创建一个TCP/IP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
server_address = ('127.0.0.1', 8888)
server_address = ('192.168.0.11', 8888)
client_socket.connect(server_address)
try:
while True:
# 输入要发送的消息
message = input('请输入要发送的消息(输入"exit"退出):')
if message == 'exit':
break
# 发送消息给服务器
client_socket.sendall(message.encode())
# 接收服务器返回的消息
data = client_socket.recv(1024).decode()
print('接收到服务器消息:', data)
finally:
# 关闭套接字
client_socket.close()
if __name__ == '__main__':
client()
请输入要发送的消息(输入"exit"退出):ABCabc
接收到服务器消息: ABCABC
请输入要发送的消息(输入"exit"退出):