python利用Socket套接字编程实现一个简单的局域网内点对点通信程序,要求参与通信双方可以相互发送信息并接收对方发来信息。
时间: 2024-03-03 21:46:52 浏览: 111
好的,以下是一个简单的局域网内点对点通信程序的Python代码,需要使用Socket套接字编程实现:
```python
import socket
# 创建Socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
# 绑定端口号
s.bind((host, port))
# 等待客户端连接
s.listen(1)
print('等待客户端连接...')
while True:
# 建立客户端连接
conn, addr = s.accept()
print('连接地址:', addr)
# 接收客户端数据
data = conn.recv(1024).decode()
print('收到客户端的消息:', data)
# 发送数据到客户端
msg = input('请输入要发送的消息:')
conn.send(msg.encode())
# 关闭连接
conn.close()
```
上述代码中,我们首先创建了一个Socket对象,并设置了主机名和端口号。然后,我们使用bind()方法将Socket对象绑定到指定的端口号上,接着使用listen()方法等待客户端连接。
在等待客户端连接的while循环中,我们使用accept()方法接受客户端的连接,并使用recv()方法接收客户端发送的数据。在收到客户端发送的数据后,我们通过input()方法获取要发送给客户端的信息,并使用send()方法将信息发送给客户端。
最后,我们关闭连接并继续等待下一个客户端的连接。需要注意的是,该程序只能进行点对点通信,即一次只能连接一个客户端。如果需要进行多客户端通信,需要使用多线程或多进程等技术。
阅读全文