这里我给大家提供一个很实用的例子
就是在线发送ICQ信息
想一想我们在网页上直接给朋友发送ICQ信息
那是多么美妙的事情啊
呵呵
在吹牛啊
其实ICQ本来就有在线发送的代码
不过
这些都是AOL给你写好的代码
多没有意思啊
还是自已写的比较好
呵呵
废话少说
大家来看代码吧
<% @ Page Language=C# %>
<% @ Assembly Name=SystemNet %>
<% @ Import Namespace=SystemNet %>
<% @ Import Namespace=SystemNetSockets %>
<% @ Import Namespace=SystemIO %>
<% @ Import Namespace=SystemText %>
<Script Language=C# Runat=Server>
public void Page_Load(Object srcEventArgs e)
{
ICQ_ShowText=如果提交后在这里显示信息;
}
public void Send_Click(Object senderEventArgs e)
{
string sendmsg;
string commandmsg;
//首先取得要发送的信息
commandmsg = from=+ICQ_NameText+&fromemail=+ICQ_EmailText+&subject=;
commandmsg += ICQ_SubjectText+&body=+ICQ_MessageText+&to=+ICQ_NumberText
commandmsg += &Send=Send+Message;
//然后就是组装全部的信息
sendmsg=POST /scripts/WWPMsgdll HTTP/\r\n;
sendmsg += Accept: image/gif image/xxbitmap image/jpeg image/pjpeg;
sendmsg += application/vndmsexcel;
sendmsg += application/msword application/vndmspowerpoint */*\r\n;
sendmsg += AcceptLanguage: zhcn\r\n;
sendmsg += ContentType: application/xwwwformurlencoded\r\n;
sendmsg += AcceptEncoding: gzip deflate\r\n;
sendmsg += UserAgent: Mozilla/ (compatible; MSIE ; Windows )\r\n;
sendmsg += Host: wwpicqcom\r\n;
sendmsg += ContentLength: + commandmsgLength + \r\n;
sendmsg += Connection: KeepAlive\r\n\r\n;
sendmsg += commandmsg + \r\n\r\n;
Byte[] arrMsg=EncodingDefaultGetBytes(sendmsgToCharArray());
//需要发送的信息处理完毕
//======下面就是发送这些信息=====
//首先是建立一个TCPClient 对象
TCPClient tcpc=new TCPClient();
if(==tcpcConnect(wwpicqcom))
{
Stream sm = tcpcGetStream();
smWrite(arrMsgsendmsgLength);
StreamReader sr=new StreamReader(tcpcGetStream()EncodingDefault);
string strRev=srReadLine();
if(strRevIndexOf(OK)!=)
{
ICQ_ShowText=ICQ消息发送成功;
}
else
{
ICQ_ShowText=ICQ消息发送不成功;
}
}
else
{
ICQ_ShowText=ICQ消息发送不成功无法联结ICQ服务器;
}
//关闭TCP联结
tcpcClose();
}
</script>
<html>
<meta httpequiv=ContentLanguage content=zhcn>
<head>
<title></title>
</head>
<body>
<form runat=server >
<table>
<tr><td align=center colspan=>
<asp:Label id=ICQ_Show runat=server ForeColor=red /></td></tr>
<tr><td><br></tr>
<tr><td align=center colspan=>发送ICQ信息</td></tr>
<tr><td>您的ICQ号:</td><td><asp:TextBox id=ICQ_Number runat=server /></td></tr>
<tr><td>您的网名:</td><td><asp:TextBox id=ICQ_Name runat=server /></td></tr>
<tr><td>您的Email:</td><td><asp:TextBox id=ICQ_Email runat=server /></td></tr>
<tr><td>发送主题:</td><td><asp:TextBox id=ICQ_Subject runat=server /></td></tr>
<tr><td>发送内容:</td><td><asp:TextBox id=ICQ_Message runat=server /></td></tr>
<tr><td><asp:Button OnClick=Send_Click Text=发送ICQ信息 RunAt=server /></td></tr>
</table>
</form>
</body>
</html>
开始显示是这个样子:
如果提交后在这里显示信息
发送ICQ信息
您的ICQ号:
您的网名:
您的Email:
发送主题:
发送内容:
按下发送ICQ信息键后的显示是
ICQ消息发送成功
发送ICQ信息
您的ICQ号:
您的网名:
您的Email:
发送主题:
发送内容:
相信大家能看懂上面的程序我已经加了注释应当没有问题吧呵呵其实这个程序也不过是在走AOL在线代码的老路只是写了个程序模拟了POST方法不过这个已经足够了我们写程序时也就不必为那个POST如表示来烦人了
有了ICQ信息肯定不少朋友会问到OICQ毕竟在国内OICQ是老大但是很不幸腾讯公司并没有给我们提供接口我写信去问他们告诉我没有提供其实我也搞到一个是通过WAP方式搞到的但是这个不太好只能是向腾讯公司发通知的那种形式出现很不好玩而且还必须网友在线才能收到太没有意思了本来也想通过UDP直接来写但是实在不知道这个数据包中要填些什么东东去验证所以也没有办法如果哪位朋友知道请您写信给我我也在waiting着啊
关于这个发ICQ信息的例子示范我把它放在 http://aspxbrinkstercom/feidao/code/Qicqaspx 上了大家有兴趣去看一下呵呵