利用Socket套接字编程实现一个简单的局域网内点对点通信程序,要求参与通信双方可以相互发送信息并接收对方发来信息。
时间: 2024-02-29 07:52:20 浏览: 34
好的,我会尽力回答你的问题。下面是一个简单的局域网内点对点通信程序的代码示例,使用Python的Socket套接字编程实现:
1. 客户端代码:
```python
import socket
# 定义主机名和端口号
host = '127.0.0.1'
port = 8000
# 创建TCP/IP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
sock.connect((host, port))
# 循环发送和接收消息
while True:
# 发送消息
message = input('发送消息:')
sock.sendall(message.encode())
# 接收消息
received_data = sock.recv(1024)
print('接收到消息:', received_data.decode())
# 关闭套接字
sock.close()
```
2. 服务器端代码:
```python
import socket
# 定义主机名和端口号
host = '127.0.0.1'
port = 8000
# 创建TCP/IP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定到指定的主机名和端口号
sock.bind((host, port))
# 监听客户端请求
sock.listen(1)
# 循环等待客户端连接
while True:
# 等待连接
conn, addr = sock.accept()
print('连接来自:', addr)
# 循环接收和发送消息
while True:
# 接收消息
received_data = conn.recv(1024)
if not received_data:
break
print('接收到消息:', received_data.decode())
# 发送消息
message = input('发送消息:')
conn.sendall(message.encode())
# 关闭连接
conn.close()
# 关闭套接字
sock.close()
```
以上代码示例仅用于学习和参考,实际应用中需要根据具体需求进行修改和优化。同时需要注意网络安全问题,例如加密传输等。