也不知道大家用过没有用过 www.imtata.com这个软件
我觉得他应该对qq进行了二次开发!
现在请教高手如何获得qq程序向服务器发送的数据包内容!或是接受到的数据包内容!
最好是c# 给点思路也行!
我觉得他应该对qq进行了二次开发!
现在请教高手如何获得qq程序向服务器发送的数据包内容!或是接受到的数据包内容!
最好是c# 给点思路也行!
解决方案 »
- 请教js的正确写法,怎么样能找到母版页中的form1
- SqlDatAadapter中insertcommand批量插入数据不成功
- 对现有多条记录进行增、删、改有什么好办法?
- 谁能用C#帮我把这段BYTE字节转成BMP或其他格式的图片并提供源码,谢谢!
- DataGrid在模板列中放入imagebutton,如何判断点击的是哪一行? 急!
- 线程的问题做了7,8天了。高手指点一下吧
- 请教如何写这个循环语句(我刚学)
- 谁能给一个winform(c#) datagrid的例子?
- 版主呀,帮帮忙! 关于Graphics对象(答对马上结帖)
- 请问怎样保留指定位数的小数?
- 类或结构长度问题
- sql数据库查询问题 c#
虽然已经有了基于QQ协议所写成的第三方软件 foicq, qq plugins for gaim, LumaQQ,但是由于他们是基于二进制Stream的协议过于复杂,大家阅读代码也有一定的难度.
HTTP的服务器应该是:http://tqq.tencent.com:8000,它是一个通过8000口进行通讯的服务器.
C#:
C#里System.IO(很多人都写成web)空间下提供了一个叫做WebClient的对象,使用此对象就可以使C#直接对服务器发送WEB客户端的请求。那么我们要对服务器提交POST方法那么就必须使用其UploadData()方法才行。首先把要请求的信息先转换为字节(因为POST提交的是字符的流数据),然后再做为UploadData()的参数。使用UploadData()进行数据提交,最后返回,POST的回馈信息。如下:
WebClient _client = new WebClient();
string postValues = "VER=1.0&CMD=Query_Stat&SEQ=12321&UIN=29501213&TN=50&UN=0";
Byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(postValues);
Byte[] pageData = _client.UploadData(Host,"POST",byteArray);
发送命令:
VER=1.1&CMD=Ack_AddToList&SEQ=&UIN=&UN=&CD=&RS=
具体的操作可以去网络上查.别的我也不知道了,我也只是收集到这些资料.
java语法与c#相近,改动是非常可能的。
WebClient client = new TcpClient(计算机名,端口 );
NetworkStream ns=client.GetStream();
byte[] byt=Encoding.UTF8.GetBytes(数据);
ns.Write(byt,0,byt.Length);//写入
ns.Flush();
服务器端: TcpListener listener = new TcpListener(IPAddress.Any, 6000);
listener.Start(); //开始侦听
Socket soc = listener.AcceptSocket(); //如果有连接请求,则同意此连接,并且返回该连接
Socket soc=this.soc; //获得连接
byte[] byt=new byte[1024]; //大小必须足够大。否则将被截断。
int count=soc.Receive(byt,0,byt.Length,SocketFlags.None);
Encoding.UTF8.GetString(byt,0,count);//获得
用到命名空间:
using System.Net;
using System.Net.Sockets;