通过python和xmpp模拟用户发消息

写在这里,免得以后用的时候到处找。

import sys,os,time
import threading,xmpp

def run(username,w,x):

	print "============================================"
	print "my thread is: "+str(w)+" times is "+str(x-1)
	print "============================================"
	time.sleep(1)
	cl=xmpp.Client(server='192.168.5.231',port=5222,debug=[])
	con=cl.connect()

	if not con:
		print "//"
		print "could not connect!"
		print "//"
		sys.exit()
	auth=cl.auth("yivanus"+str(w),'123456')

	if not auth:
		print "//"
		print 'could not authenticate!'
		print "//"
		sys.exit()

	for i in range(1,x):
		print ""
		print "my thread is "+str(w)+" sending in "+str(i)+" times"
		print ""
		id=cl.send(xmpp.protocol.Message(str(username)+'@192.168.5.231',"hello how are you,can i help you? what can i do for you?"+str(i)))
		time.sleep(5)
	cl.disconnect()

def err():

	print "=========================================="
	print "usrage: python test.py username num times "
	print "=========================================="
	sys.exit()

if __name__=="__main__":
	
	if len(sys.argv)!=4:
		err()
	if sys.argv[1]=="":
		err()
	if int(sys.argv[2])<=0:
		err()
	if int(sys.argv[3])<=0:
		err()

	print "=========================================="
	print "user : "+str(sys.argv[1])
	print "every user send message to "+sys.argv[1]+" times is :" +str(sys.argv[2])
	print "=========================================="

	worker=[]
	for w in range(1,int(sys.argv[2])+1):
		t=threading.Thread(target=run,args=(str(sys.argv[2]),w,int(sys.argv[3])+1))
		t.start()
		worker.append(t)

	for i in worker:
		i.join()

	print "=========================================="
	print "test over."
	print "=========================================="



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值