相关文章推荐
唠叨的猴子  ·  小米13 Pro 音频测试 - DXOMARK·  1 年前    · 
愉快的柚子  ·  activex for chrome下载 ...·  1 年前    · 
满身肌肉的火锅  ·  搜索 | 香港中文大学(深圳)·  1 年前    · 
魁梧的大蒜  ·  作品改编的边界在哪儿?-中国知识产权资讯网·  2 年前    · 
酒量小的太阳  ·  固收|FICC|带或有条款的债券 – FX投机者·  2 年前    · 
Code  ›  Python打造一个互动交友聊天室,免费在线聊天开发者社区
编程语言 socket 端口号 recv
https://cloud.tencent.com/developer/article/1783712
知识渊博的柠檬
3 年前
作者头像
荣仔_最靓的仔
0 篇文章

Python打造一个互动交友聊天室,免费在线聊天

前往专栏
腾讯云
备案 控制台
开发者社区
学习
实践
活动
专区
工具
TVP
文章/答案/技术大牛
写文章
社区首页 > 专栏 > 一些有趣的Python案例 > 正文

Python打造一个互动交友聊天室,免费在线聊天

发布 于 2021-02-02 14:28:53
492 0
举报

男女撩人的套路情话一问一答,各种套路满满的句子对话。接下来跟随我一起学习如何用 python 语言实现轻松撩人。

目录

1 项目准备

1.1 了解你的本地主机地址

1.2 辅助工具——网络调试助手

1.3 环境配置

2 编写代码

2.1 编写UDP程序发送socket数据

2.2 编写UDP程序接收socket数据

2.3 聊天器


1 项目准备

1.1 了解你的本地主机地址

输入

,在终端输入

,即可看到你的本地主机地址。

1.2 辅助工具——网络调试助手

下载地址 :链接:https://pan.baidu.com/s/1vt8DWfUWyQ97IpAoSOInLA 提取码:c1fq

1.3 环境配置

操作系统 :windows、linux 等均可

Python :3.6 以上均可

包库 :socket

2 编写代码

2.1 编写UDP程序发送socket数据

编码思路 :

1、导包 socket
2、初始化一个 socket
3、调用 socket的一个方法发送消息数据
4、关闭 socket
'''
1、导包 socket
2、初始化一个 socket
3、调用 socket的一个方法发送消息数据
4、关闭 socket
# 1、导包 socket
import socket
# 2、初始化一个 socket
# socket.AF_INET ip地址的类型
# socket.SOCK_DGRAM UDP协议
send_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 3、调用 socket的一个方法发送消息数据
send_socket.sendto("vivi正在直播".encode("gbk"), ("192.168.1.104", 8080))
# 4、关闭 socket
send_socket.close()

2.2 编写UDP程序接收socket数据

编码思路 :

1、导包 socket
2、初始化一个 socket
3、调用 socket的一个方法接收消息数据
4、关闭 socket
'''
1、导包 socket
2、初始化一个 socket
3、调用 socket的一个方法接收消息数据
4、关闭 socket
# 1、导包 socket
import socket
# 2、初始化一个 socket
# socket.AF_INET ip地址v4版本
# socket.SOCK_DGRAM UDP协议
recv_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定ip地址和端口号
# 这个方法需要接收的是一个元组
# 元组中第一个参数是ip地址,字符串类型
# 元组中第二个参数是端口号,整数类型的
# ip地址不写,表示可以接收到任意一台电脑上发送过来的数据
recv_socket.bind(("", 8080))
# 3、调用 socket的一个方法接收消息数据
# 1024是指接收的最大数据,单位是字节
recv_data = recv_socket.recvfrom(1024)
# print(recv_data)  # (b'\xb9\xa7\xcf\xb2\xc4\xfa\xb3\xc9\xb9\xa6\xb5\xf7\xd3\xc3 socket \xb5\xc4\xd2\xbb\xb8\xf6\xb7\xbd\xb7\xa8\xb7\xa2\xcb\xcd\xcf\xfb\xcf\xa2\xca\xfd\xbe\xdd\xa3\xa1',('192.168.1.104', 55910))
print(recv_data[0].decode("gbk"))
# 4、关闭 socket
recv_socket.close()

注 :先运行“UDP程序接收socket数据”代码,再运行“UDP程序发送socket数据”代码,效果图如下所示。

2.3 聊天器

编码思路:

1、导包 socket
2、初始化 socket
3、绑定端口号
4、显示菜单
5、判断用户输入的菜单编号
6、根据判断的结果调用对应的功能
# 1、导包 socket
import socket
# 定义函数,实现发送消息的功能
def send_msg(udp_socket):
    msg = input("请输入发送的消息:")
    ip = input("请输入对方的ip地址:")
    port = int(input("请输入对方的端口号:"))
    # 发送消息
    udp_socket.sendto(msg.encode("gbk"), (ip, port))
# 定义函数,实现接收消息的功能
def recv_msg(udp_socket):
    recv_msg = udp_socket.recvfrom(1024)  # 接收数据
    print("%s:%s" % (recv_msg[1], recv_msg[0].decode("gbk")))  # 显示数据
def main():
    # 2、初始化 socket
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 3、绑定端口号
    udp_socket.bind(("", 8081))
    # 4、显示菜单
    print("*" * 30)
    print("1、发送消息")
    print("2、接收消息")
    print("*" * 30)
    # 无限循环5/6步
    while (1):
        # 5、判断用户输入的菜单编号
        menu_code = input("请输入菜单编号:")
        if menu_code == "1":
            # 6、根据判断的结果调用对应的功能
            # 调用发送消息的功能
            send_msg(udp_socket)
        elif menu_code == "2":
            # 6、根据判断的结果调用对应的功能
            # 调用接收消息的功能
            recv_msg(udp_socket)
 
推荐文章
唠叨的猴子  ·  小米13 Pro 音频测试 - DXOMARK
1 年前
愉快的柚子  ·  activex for chrome下载 - CSDN文库
1 年前
满身肌肉的火锅  ·  搜索 | 香港中文大学(深圳)
1 年前
魁梧的大蒜  ·  作品改编的边界在哪儿?-中国知识产权资讯网
2 年前
酒量小的太阳  ·  固收|FICC|带或有条款的债券 – FX投机者
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号