这里我给大家提供一个很实用的例子,就是在线发送icq信息。想一想我们在网页上直接给朋友发送icq信息,那是多么美妙的事情啊。呵呵,在吹牛啊,其实icq本来就有在线发送的代码,不过,这些都是aol给你写好的代码,多没有意思啊。还是自已写的比较好,呵呵,废话少说,大家来看代码吧
<% @ page language="c#" %>
<% @ assembly name="system.net" %>
<% @ import namespace="system.net" %>
<% @ import namespace="system.net.sockets" %>
<% @ import namespace="system.io" %>
<% @ import namespace="system.text" %>
<script language="c#" runat="server">
public void page_load(object src,eventargs e)
{
icq_show.text="如果提交后,在这里显示信息";
}
public void send_click(object sender,eventargs e)
{
string sendmsg;
string commandmsg;
//首先取得要发送的信息
commandmsg = "from="+icq_name.text+"&fromemail="+icq_email.text+"&subject=";
commandmsg += icq_subject.text+"&body="+icq_message.text+"&to="+icq_number.text
commandmsg += "&send=send+message";
//然后就是组装全部的信息
sendmsg="post /scripts/wwpmsg.dll http/1.1\r\n";
sendmsg += "accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,";
sendmsg += " application/vnd.ms-excel,";
sendmsg += " application/msword, application/vnd.ms-powerpoint, */*\r\n";
sendmsg += "accept-language: zh-cn\r\n";
sendmsg += "content-type: application/x-www-form-urlencoded\r\n";
sendmsg += "accept-encoding: gzip, deflate\r\n";
sendmsg += "user-agent: mozilla/4.0 (compatible; msie 5.01; windows 95)\r\n";
sendmsg += "host: wwp.icq.com\r\n";
sendmsg += "content-length: " + commandmsg.length + "\r\n";
sendmsg += "connection: keep-alive\r\n\r\n";
sendmsg += commandmsg + "\r\n\r\n";
byte[] arrmsg=encoding.default.getbytes(sendmsg.tochararray());
//需要发送的信息处理完毕
//======下面就是发送这些信息=====
//首先是建立一个tcpclient 对象
tcpclient tcpc=new tcpclient();
if(0==tcpc.connect("wwp.icq.com",80))
{
stream sm = tcpc.getstream();
sm.write(arrmsg,0,sendmsg.length);
streamreader sr=new streamreader(tcpc.getstream(),encoding.default);
string strrev=sr.readline();
if(strrev.indexof("ok")!=-1)
{
icq_show.text="icq消息发送成功";
}
else
{
icq_show.text="icq消息发送不成功";
}
}
else
{
icq_show.text="icq消息发送不成功,无法联结icq服务器";
}
//关闭tcp联结
tcpc.close();
}
</script>
<html>
<meta http-equiv="content-language" content="zh-cn">
<head>
<title></title>
</head>
<body>
<form runat="server" >
<table>
<tr><td align=center colspan=2>
<asp:label id="icq_show" runat="server" forecolor="red" /></td></tr>
<tr><td><br></tr>
<tr><td align=center colspan=2>发送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://aspx1.brinkster.com/feidao/code/qicq.aspx 上了,大家有兴趣去看一下,呵呵。
转自http://www.aspcn.com 飞刀
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器