发布信息

几十行代码写聊天室功能,基于TCP/IP和Socket且无信息痕迹

作者:软荐小编      2025-03-31 15:01:36     127

[id_1454122381]

作者丨小K

今天来教大家写一个聊天室功能。这个程序的代码只有几十行,相较于那些动辄几百兆的通讯软件包而言,它简直就是“神纯净版本”。并且,在关闭解释环境之后,它不会留下任何信息痕迹,因此可以放心使用。

原理/流程

需要用到TCP/IP协议,Socket技术。

聊天软件源代码_聊天系统源代码_聊天源代码软件怎么用

我们需要先建立一个主机,让他监听对应的端口号。

如果有客户端访问该端口号\建立TCP连接。

主机收到有客户端上线的提示,并向该客户端发送消息。

客户端收到消息之后也可以向主机发送消息。

聊天系统源代码_聊天软件源代码_聊天源代码软件怎么用

先写个主机端(Server)

import socket

host 等于 socket 获取的主机名。#获取主机地址
port = 8888                         #设置端口号
nick_name = "麦叔"

创建一个套接字对象 s,使用的地址族是 socket.AF_INET,套接字类型是 socket.SOCK_STREAM
s 与 (host, port) 进行绑定。# 绑定地址
s.listen(1)                         # 设置最多连接数量

s 接受连接,然后将返回的套接字对象赋值给 sock,同时将连接的地址赋值给 addr 。# 被动接收TCP客户端连接
print('Connected')
info = sock.recv(1024).decode()     # 接收Client数据
while 'Quit' not in info:
    if info:
        print(info)
    send_data = input('输入发送内容:')
    send_data = nick_name + ": " + send_data
sock 发送 send_data 并进行编码后发送出去。# 发送TCP数据包
    if 'Quit' in send_data:
        break
    info = sock.recv(1024).decode() # 接收Client数据

关闭 sock。# 关闭客户端Socket
关闭文件 s 。# 关闭服务端Socket

主机端代码分为三部分,

第一部分:构建主机的HOST和PORT...创建监听任务;

第二部分:接收\发送 数据;

当输入“Quit”时,会断开连接,然后程序结束,这会对客户端产生影响。

再写个客户端(Client)

import socket

创建一个 socket 对象,通过调用 socket.socket() 函数来实现。# 创建TCP/IP套接字
host = socket.gethostname()         # 获取主机地址
port = 8888
nick_name = "小K"

s 与 (host, port) 建立连接。# 初始化TCP服务器连接
print('Client Connected')
info = ''
while 'Quit' not in info:
    send_data = input('输入发送的内容:')
    send_data = nick_name + ": " + send_data
s 发送了经过编码后的 send_data 。# 发送TCP数据
    if 'Quit' in send_data:
        break
    info = s.recv(1024).decode()    #接收服务端数据
    print(info)

s.close()                           # 关闭Socket连接

主机端代码分也为三部分聊天软件源代码

第一部分:构建HOST和PORT信息,并与主机端创建连接;

第二部分:接收\发送 数据;

当输入“Quit”时,会断开连接,随后程序结束聊天软件源代码,并且不会影响主机端。

试试功能

使用两个命令行终端,分别运行两个代码文件;

聊天软件源代码_聊天源代码软件怎么用_聊天系统源代码

聊天功能;

聊天软件源代码_聊天源代码软件怎么用_聊天系统源代码

体验非常好!

后记

上文的两段代码仅实现了最为简单的聊天功能。倘若想要使其更像一个聊天室,那么可以在上述代码中对其展开深度开发。

最后可能会开发出一个QQ一样的程序~

聊天源代码软件怎么用_聊天系统源代码_聊天软件源代码

聊天源代码软件怎么用_聊天软件源代码_聊天系统源代码

1、

2、

3、

4、

5、

聊天源代码软件怎么用_聊天软件源代码_聊天系统源代码

相关内容 查看全部