男女撩人的套路情话一问一答,各种套路满满的句子对话。接下来跟随我一起学习如何用 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数据
编码思路:
代码语言:javascript复制1、导包 socket
2、初始化一个 socket
3、调用 socket的一个方法发送消息数据
4、关闭 socket
代码语言:javascript复制'''
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数据
编码思路:
代码语言:javascript复制1、导包 socket
2、初始化一个 socket
3、调用 socket的一个方法接收消息数据
4、关闭 socket
代码语言:javascript复制'''
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'xb9xa7xcfxb2xc4xfaxb3xc9xb9xa6xb5xf7xd3xc3 socket xb5xc4xd2xbbxb8xf6xb7xbdxb7xa8xb7xa2xcbxcdxcfxfbxcfxa2xcaxfdxbexddxa3xa1',('192.168.1.104', 55910))
print(recv_data[0].decode("gbk"))
# 4、关闭 socket
recv_socket.close()
注:先运行“UDP程序接收socket数据”代码,再运行“UDP程序发送socket数据”代码,效果图如下所示。
2.3 聊天器
编码思路:
代码语言:javascript复制1、导包 socket
2、初始化 socket
3、绑定端口号
4、显示菜单
5、判断用户输入的菜单编号
6、根据判断的结果调用对应的功能
代码语言:javascript复制# 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()
欢迎留言,一起学习交流~
感谢阅读