鱼C论坛

 找回密码
 立即注册
查看: 1311|回复: 3

[已解决]python局域网聊器

[复制链接]
发表于 2023-12-21 10:15:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
@FishC 用python写出局域网聊天器
最佳答案
2023-12-21 10:16:05
当然可以用Python来写一个局域网聊天器!以下是一个简单的示例代码:
import socketimport threadingdef send_message(sock):    while True:        message = input()        sock.sendall(message.encode())def receive_message(sock):    while True:        data = sock.recv(1024)        print("收到消息:", data.decode())def main():    # 创建套接字    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    server_socket.bind(('localhost', 8888))    server_socket.listen(5)    print("服务器已启动,等待客户端连接...")    # 接受客户端连接    client_socket, addr = server_socket.accept()    print("客户端已连接:", addr)    # 创建发送消息的线程    send_thread = threading.Thread(target=send_message, args=(client_socket,))    send_thread.setDaemon(True)    send_thread.start()    # 创建接收消息的线程    receive_thread = threading.Thread(target=receive_message, args=(client_socket,))    receive_thread.setDaemon(True)    receive_thread.start()    while True:        passif __name__ == '__main__':    main()
这是一个基于TCP协议的简单的局域网聊天器。它创建了一个服务器套接字,监听本地主机上的指定端口号(这里使用8888)。当有客户端连接时,它会打印出客户端的地址,并创建两个线程来实现消息的发送和接收。

在`send_message`函数中,用户可以通过输入将消息发送给其他客户端。而在`receive_message`函数中,程序会一直监听来自客户端的消息,并在控制台上打印出来。

注意:该代码只是一个简单示例,可能并不适用于所有情况,比如它只能支持单个客户端连接。如果需要支持多个客户端同时连接和交流,需要对代码进行进一步的修改和改进。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-21 10:16:05 | 显示全部楼层    本楼为最佳答案   
当然可以用Python来写一个局域网聊天器!以下是一个简单的示例代码:
import socketimport threadingdef send_message(sock):    while True:        message = input()        sock.sendall(message.encode())def receive_message(sock):    while True:        data = sock.recv(1024)        print("收到消息:", data.decode())def main():    # 创建套接字    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    server_socket.bind(('localhost', 8888))    server_socket.listen(5)    print("服务器已启动,等待客户端连接...")    # 接受客户端连接    client_socket, addr = server_socket.accept()    print("客户端已连接:", addr)    # 创建发送消息的线程    send_thread = threading.Thread(target=send_message, args=(client_socket,))    send_thread.setDaemon(True)    send_thread.start()    # 创建接收消息的线程    receive_thread = threading.Thread(target=receive_message, args=(client_socket,))    receive_thread.setDaemon(True)    receive_thread.start()    while True:        passif __name__ == '__main__':    main()
这是一个基于TCP协议的简单的局域网聊天器。它创建了一个服务器套接字,监听本地主机上的指定端口号(这里使用8888)。当有客户端连接时,它会打印出客户端的地址,并创建两个线程来实现消息的发送和接收。

在`send_message`函数中,用户可以通过输入将消息发送给其他客户端。而在`receive_message`函数中,程序会一直监听来自客户端的消息,并在控制台上打印出来。

注意:该代码只是一个简单示例,可能并不适用于所有情况,比如它只能支持单个客户端连接。如果需要支持多个客户端同时连接和交流,需要对代码进行进一步的修改和改进。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-21 10:16:34 | 显示全部楼层
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-21 10:16:40 | 显示全部楼层

你好!有什么问题我可以帮你解答吗?

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 22:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表