python模拟给qq发消息,python模拟QQ聊天--socket通信

使用udp协议,多线程socket网络编程实现

本篇博客针对有一点socket编程基础的同学,采用的udp协议,为了实现收发信息的实时性,采用了多线程的方式,话不多说,直接上代码(我把该文件名命名为 qq.py):

from socket import *

from threading import Thread

# 创建socket套接字

udp = socket(family=AF_INET, type=SOCK_DGRAM)

# 发送数据函数

def sentData(addr, desport):

while True:

data = input()

udp.sendto(data.encode('utf8'),( addr, desport))

# 接收数据函数,绑定本地端口

def recvData(port):

udp.bind(('', port))

while True:

data = udp.recvfrom( 1024 )

print("\r>> " + data[0].decode('utf8') )

if __name__ == "__main__":

addr = input("请输入对端通信地址:")

desport = int(input("请输入对端通信端口:"))

port = int(input("请输入本地绑定端口:"))

t1 = Thread(target=sentData,args=(addr,desport) )

t2 = Thread(target=recvData,args=(port,) )

t1.start()

t2.start()

使用 cx_Freeze 创建一个exe可执行程序来验证是否可以通信

具体打包步骤可在以前的博客中了解:https://blog..net/qq_37648632/article/details/81334836,这里简单说明:

在当前目录中创建一个setup.py文件,然后粘贴下列代码(注意文件名):

from cx_Freeze import setup, Executable

buildOptions = dict(packages=[], excludes=[])

base = 'Console'

# 本篇博客创建的python文件名为 当前目录下的 qq.py 文件,可写绝对路径

executables = [Executable('qq.py', base=base)]

setup(name='test_project',

version='1.0',

description='test for cxfreeze',

options=dict(build_exe=buildOptions),

executables=executables)

然后在该目录中,按住 shift + 鼠标右键 ,选择   在此处打开命令窗口,输入命令:python setup.py build    即可打包完成

进入build目录,里面有一个exe可执行程序,点击运行,输入地址,由于我是在一台电脑上测试的,所以IP使用的是同一个IP。注意端口的输入,大家可根据自己的实际情况做修改,结果如下(左边是pycharm的终端,右边是刚刚打包出来的可执行程序):

f6c01e08c0d1a0abf058e9b31d96be6e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值