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

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

 

目录

1 项目准备

1.1 了解你的本地主机地址

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

1.3 环境配置

2 编写代码

2.1 编写UDP程序发送socket数据

2.2 编写UDP程序接收socket数据

2.3 聊天器


1 项目准备

1.1 了解你的本地主机地址

win+R 输入 cmd,在终端输入 {\color{Red} ipconfig},即可看到你的本地主机地址。

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)
        else:
            # 6、根据判断的结果调用对应的功能
            print("录入有误,请重新输入")

if __name__ == '__main__':
    main()

欢迎留言,一起学习交流~

感谢阅读

END

猜你喜欢

转载自blog.csdn.net/IT_charge/article/details/113105385
今日推荐