ChatGPT编程实现简易聊天工具

这篇具有很好参考价值的文章主要介绍了ChatGPT编程实现简易聊天工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ChatGPT编程实现简易聊天工具

今天借助[[小蜜蜂]][https://zglg.work]网站的ChatGPT练习socket编程,实现一个简易聊天工具软件。

环境:Pycharm 2021

系统:Mac OS

向ChatGPT输入如下内容:

ChatGPT编程实现简易聊天工具,总结经验,编程,笔记,chatgpt,人工智能

ChatGPT收到后,根据返回结果并进行部分修改,如下所示:

下面是一个简易的客户端-服务器聊天程序的示例代码,使用 Python 的 socket 模块实现:

服务器端代码:

import socket
import threading

# 服务器端函数
def handle_client(client_socket, address):
    print(f"连接来自 {address}")

    while True:
        data = client_socket.recv(1024).decode('utf-8')
        if not data:
            break
        
        print(f"收到消息: {data}")

        response = input("回复消息: ")
        client_socket.send(response.encode('utf-8'))

    client_socket.close()

# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 设置服务器端IP地址和端口
host = '192.168.1.21'
port = 12345

# 绑定端口
server_socket.bind((host, port))

# 设置最大连接数
server_socket.listen(5)

print(f"服务器正在运行,监听地址为 {host}:{port}")

while True:
    client_socket, address = server_socket.accept()
    client_handler = threading.Thread(target=handle_client, args=(client_socket, address))
    client_handler.start()

客户端代码:

为了实现服务器断开后客户端自动断开连接,在客户端代码中添加一些逻辑来检测服务器是否已经关闭。一种常用的方法是通过捕获异常来处理连接错误。下面是一个更新过的客户端代码示例,其中包含了对服务器断开情况的检测和处理:

import socket

# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 服务器的IP地址和端口号
server_ip = '192.168.1.21'
server_port = 12345

try:
    # 连接服务,指定服务器的IP地址和端口号
    client_socket.connect((server_ip, server_port))
    
    while True:
        message = input("发送消息: ")
        client_socket.send(message.encode('utf-8'))

        response = client_socket.recv(1024).decode('utf-8')
        print(f"收到回复: {response}")

except ConnectionRefusedError:
    print("连接被拒绝:服务器已关闭")
except ConnectionResetError:
    print("连接重置:服务器断开")
finally:
    client_socket.close()

在这个示例中,服务器会启动并监听来自客户端的连接。每当有新的客户端连接时,服务器会创建一个新线程来处理与该客户端的通信。客户端会连接到服务器,并可以通过输入消息进行简单的聊天。

请替换服务器代码中 '服务器的IP地址' 部分为实际的服务器 IP 地址,在客户端代码中也可以相应地修改。这样就可以在两个终端上运行服务器和客户端以开始简单的C-S聊天。

分别在服务器端(服务器端代码)和客户端(客户端代码)运行聊天程序。运行结果截图如下:

ChatGPT编程实现简易聊天工具,总结经验,编程,笔记,chatgpt,人工智能

ChatGPT编程实现简易聊天工具,总结经验,编程,笔记,chatgpt,人工智能

以上示例在[小蜜蜂AI网站][https://zglg.work]完成,欢迎注册体验。

无所不能的AI时代必将成为广大程序员的最有力的助手!快快去体验吧。文章来源地址https://www.toymoban.com/news/detail-841073.html

到了这里,关于ChatGPT编程实现简易聊天工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • H3C无线路由的配置方法的经验总结

    在配置H3C无线路由器之前,首先要做的是将电脑与无线路由器用网线连接起来,网线的另一端要接到无线路由器的LAN口上,建议按照无线路由器配置页面中的向导引导进行配置。   一、 有些人在使用无线路由器上网时,速度时快时慢,笔记本与无线路由器的距离很近,其实

    2024年02月05日
    浏览(37)
  • 基于qt的简易聊天实现

    本次项目采用的是TCP传输文件,UDP实现聊天以及聊天状态的反馈。 一、首先运行程序会进入到这样一个会话界面,也就是新加入一个用户,新加入的用户会在右侧显示其用户名、主机名和IP地址,在消息记录框中也会提示在线信息。 二、消息字体样式、字体大小、加粗、斜体

    2024年02月11日
    浏览(37)
  • Qt实现简易聊天室

    目录 一、界面展示(界面用ui 设计)  群成员展示界面( denglu)    聊天界面展示( widget ) 二、代码展示 (所有代码非原创)  denglu.h和widget.h  denglu.cpp、main.cpp、widget.cpp 三、软件制作  

    2024年02月08日
    浏览(47)
  • 用Java实现简易聊天室

      说明:如果一个 类,需要有界面的显示,那么该类就需要继承自JFrame,此时,该类就可以被称为一个“窗体类\\\"。   服务端代码: 客户端代码:  启动时,必须先启动服务端,再启动客户端。 最终效果:      

    2024年02月11日
    浏览(42)
  • LinuxC TCP实现简易聊天室

    目录 1.概述 1.1聊天室设计内容 2.系统设计 2.1系统功能设计 2.1.1用户管理 2.1.2聊天室管理 2.1.3聊天管理 2.2系统数据结构设计 2.3系统主要函数设计 3.系统实现 3.2功能模块的程序流程图及运行界面 3.2.1功能模块流程图  3.2.2运行界面 4.源代码 4.1客户端 4.2服务器 注:存在问题 1

    2024年02月09日
    浏览(41)
  • 基于springboot与websocket实现简易聊天室

    创建一个简单聊天室的HTML和JavaScript代码,匹配相应的css样式,这个聊天室将使用WebSocket技术,允许用户实时发送和接收消息。 1.1 html和js代码 通过new WebSocket(url)建立一个新的websocket连接。websocket连接建立之后使用websocket.onopen,websocket.onclose,websocket.onerror等方法实时监测we

    2024年02月01日
    浏览(56)
  • websocket+elementui+vue实现简易聊天室

    搭建服务端环境 安装socket.io 服务端基于node,js的express框架生成,所以写成模块,引入至app.js中 其中,io.sockets.emit用于向所有建立连接的客户端发送信息,socket.broadcast.emit用于向除发送方之外的客户端发送信息。 客户端基于vue和elementui 进入聊天页面后,先判断用户是否登录,

    2024年04月25日
    浏览(51)
  • 纯JAVA模拟、实现QQ简易聊天互动程序

    实现的功能、步骤: 1、定义JFrame窗体中的组件 2、在构造方法中初始化窗体的组件 3、使用网络编程完成数据的传输(TCP,UDP协议) 4、实现发送按钮的监听点击事件 5、实现回车键发送数据   功能演示: 没有点发送,数据却发送出去了是因为按了回车键   运用到的知识点

    2024年02月11日
    浏览(34)
  • 基于WebSocket的简易聊天室的基本实现梳理

    目前在很多网站为了实现推送技术所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信

    2024年02月11日
    浏览(39)
  • springboot整合tio-websocket方案实现简易聊天

    一、导包(导入TIO的两个依赖,其他必要依赖不赘述) 二、yml配置 三、配置参数 四、实现一些监听类 1.ServerAioListener监听 2.IpStatListener监听(这个可选) 3.WsServerAioListener监听 4.IWsMsgHandler拦截(里面逻辑根据具体业务,但是必须实现这个,不然启动报错) 五、一些消息体(根据

    2024年02月14日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包