本站统计
  • 建站日期:2022-01-17
  • 文章总数:16294 篇
  • 用户总数:13167个
  • 分类总数:165 个
  • 最后更新:2025-5-18
  • 今日更新:0篇

仅用200行代码 教你打造世界最小聊天服务器SmallChat!

作者头像
首页 综合教程 正文
广告

Github仓库地址

image.png

仓库地址:https://github.com/antirez/smallchat

下载代码

git clone git@github.com:Tinywan/smallchat.git

编译

cd smallchat/
gcc -o smallchat smallchat.c

参数 -o 指定一个输出文件,这里为smallchat。smallchat.c为源文件

编译后会生成一个smallchat 二进制文件

smallchat$ ls
Makefile  README.md  smallchat  smallchat.c

直接启动服务端二进制文件即可

./smallchat

聊天

端口

服务端默认端口是7771。当然你也可以修改重新编译成自己想要的端口

#define SERVER_PORT 7711

终端

终端1

telnet 127.0.0.1 7711
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Welcome to Simple Chat! Use /nick <nick> to set your nick.

// 设置客户端昵称 /nick 你的昵称
/nick tinywan001

// 发送消息
This is just a programming example (tinywan001)

image.png

终端2

telnet 127.0.0.1 7711
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Welcome to Simple Chat! Use /nick <nick> to set your nick.

// 设置客户端昵称 /nick 你的昵称
/nick tinywan002

// 发送消息
Since I wrote this little program (tinywan002)

image.png

服务端

./smallchat 
Connected client fd=4
Connected client fd=5
tinywan002> Since I wrote this little program (tinywan002)
tinywan001> This is just a programming example (tinywan001)
tinywan001> 001
tinywan002> 002
tinywan002> 002002002
tinywan001> 001001001001

Disconnected client fd=5, nick=tinywan002
Disconnected client fd=4, nick=tinywan001

其它

telnet 命令

telnet是一种远程连接协议,用于通过网络连接到远程设备进行控制和操作。其中,ip是指连接的远程设备的ip地址。使用telnet ip命令,在命令行中输入telnet 后输入连接的ip地址和端口号,就可以远程连接到目标设备进行操作了。

具体命令格式如下:

 telnet ip_address port

  • 版权说明
  • 文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
    本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服以便删除!
  • 阿影博客网站永久地址为:https://www.aybk.cn/
  • 本站资源大多存储在云盘,如发现链接失效,请留言评论我们会第一时间更新。
  • 关于本站的所有留言评论与转载、引用文纯属文字原作者个人观点,与本站观点及立场无关!
  • 本站为非经营性个人站点,会员功能仅作为用户喜欢本站自愿捐赠、打赏,仅为维持服务器
  • Spring Boot + Vue/前后端分离/人不分离/博客系统
    « 上一篇 11-09
    境外esim手机号码获取教程/境外手机号码注册教程
    下一篇 » 11-09

    发表评论

    • 泡泡
    • 阿呆
    • 阿鲁
    • 蛆音娘
      没有更多评论了