python利用Socket套接字编程实现一个简单的局域网内点对点通信程序,要求参与通信双方可以相互发送信息并接收对方发来信息。
时间: 2024-02-28 19:53:05 浏览: 138
好的,以下是一个简单的局域网内点对点通信程序的Python代码示例:
```python
import socket
# 创建一个套接字对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地IP地址
local_ip = socket.gethostbyname(socket.gethostname())
# 设置端口号
port = 8888
# 绑定IP地址和端口号
sock.bind((local_ip, port))
# 监听客户端请求
sock.listen()
print(f"Listening on {local_ip}:{port}")
# 等待客户端连接
client_sock, client_address = sock.accept()
print(f"Accepted connection from {client_address}")
while True:
# 接收客户端发来的消息
data = client_sock.recv(1024).decode()
if not data:
break
print(f"Received message: {data}")
# 发送消息给客户端
message = input("Enter message to send: ")
client_sock.send(message.encode())
# 关闭套接字
client_sock.close()
sock.close()
```
在这个示例中,我们创建了一个套接字对象并将其绑定到本地IP地址和端口号上。然后我们开始监听客户端请求,并等待客户端连接。
一旦客户端连接成功,我们就进入了一个循环中,接收客户端发来的消息并将其打印出来。然后我们要求用户输入要发送给客户端的消息,并将其发送给客户端。
当客户端关闭连接时,我们退出循环并关闭套接字。
你可以在另一台计算机上运行相同的代码来模拟另一个客户端,这样你就可以在局域网内进行点对点通信了。
阅读全文