python编程写一个基于tcp的ab互发的简易聊天程序
时间: 2023-04-25 20:02:28 浏览: 69
这是一个基于TCP的简易聊天程序,可以实现AB互发消息的功能。
首先,需要导入socket模块,创建一个socket对象,并绑定IP地址和端口号。
然后,使用while循环不断接收和发送消息,其中使用try和except语句来处理异常情况。
具体代码如下:
```
import socket
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
s.bind(('127.0.0.1', 8888))
# 监听端口
s.listen(1)
# 等待连接
print('等待连接...')
conn, addr = s.accept()
print('已连接:', addr)
# 循环接收和发送消息
while True:
try:
# 接收消息
data = conn.recv(1024)
if not data:
break
print('收到消息:', data.decode())
# 发送消息
msg = input('请输入消息:')
conn.send(msg.encode())
except:
break
# 关闭连接
conn.close()
s.close()
```
在另一个终端中,可以使用相同的代码来连接到该程序,并实现AB互发消息的功能。
相关问题
使用python写一个基于TCP的聊天程序
好的,下面是一个基于TCP的聊天程序的示例代码:
服务端代码:
```python
import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind(('127.0.0.1', 9999))
# 监听连接
server_socket.listen(5)
print('等待客户端连接...')
while True:
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print('客户端已连接,地址为:', client_address)
while True:
# 接收客户端发送的消息
data = client_socket.recv(1024).decode('utf-8')
if not data:
# 客户端已断开连接
print('客户端已断开连接')
break
print('收到客户端消息:', data)
# 发送消息给客户端
message = input('请输入回复消息:')
client_socket.send(message.encode('utf-8'))
# 关闭客户端连接
client_socket.close()
```
客户端代码:
```python
import socket
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务端
client_socket.connect(('127.0.0.1', 9999))
print('已连接到服务器')
while True:
# 发送消息给服务端
message = input('请输入消息:')
client_socket.send(message.encode('utf-8'))
# 接收服务端发送的消息
data = client_socket.recv(1024).decode('utf-8')
print('收到服务端消息:', data)
# 关闭连接
client_socket.close()
```
使用方法:
1. 先运行服务端代码,等待客户端连接。
2. 运行客户端代码,输入连接信息。
3. 客户端输入消息,服务端接收并回复。
4. 当客户端想要断开连接时,可以输入空消息,服务端会自动关闭连接。
注意事项:
1. 这只是一个示例代码,可能存在一些不完善的地方,需要根据实际情况进行修改。
2. 在实际使用中,应该考虑到并发连接和异常处理等问题。
帮我写一个基于python的聊天程序
好的,这是一个简单的聊天程序的例子:
```python
import time
def chat():
while True:
user_input = input("你想说什么?")
if user_input == "再见":
print("再见!")
break
elif user_input == "你是谁?":
print("我是一个聊天机器人!")
else:
print("对不起,我没有理解你的意思。")
print("你好,我是一个聊天机器人!")
chat()
```
这个程序会不断地循环直到用户输入 "再见"。每当用户输入 "你是谁?" 时,程序会回答 "我是一个聊天机器人!"。如果用户输入其他任何内容,程序会回答 "对不起,我没有理解你的意思。"。
这只是一个简单的例子,你可以根据自己的需要来添加更多功能。希望这能帮到你!