编写一个套接字程序,要求服务器等待客户的连接请求,一旦有客户连接,服务器打印出客户端的IP地址和端口,并向客户端发送欢迎信息。
时间: 2024-02-27 22:51:55 浏览: 83
以下是一个简单的 Python 3 代码示例,实现了上述功能:
服务端代码(server.py):
```python
import socket
# 创建一个 TCP/IP 套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定到指定的端口
server_address = ('', 8888)
server_socket.bind(server_address)
# 开始监听连接请求
server_socket.listen()
print('等待客户连接...')
while True:
# 等待客户连接
client_socket, client_address = server_socket.accept()
print(f'客户端 {client_address[0]}:{client_address[1]} 连接成功!')
# 向客户端发送欢迎信息
message = '欢迎连接到服务器!'.encode('utf-8')
client_socket.sendall(message)
# 关闭客户端连接
client_socket.close()
```
客户端代码(client.py):
```python
import socket
# 创建一个 TCP/IP 套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务端
server_address = ('localhost', 8888)
client_socket.connect(server_address)
# 接收服务端发送的欢迎信息
message = client_socket.recv(1024)
print(message.decode('utf-8'))
# 关闭连接
client_socket.close()
```
运行服务端代码后,会打印出 "等待客户连接...",表示服务器正在等待客户端连接。然后运行客户端代码,客户端连接到服务器并接收到欢迎信息。服务端会打印出客户端的 IP 地址和端口号。
阅读全文