這裡我給大家提供一個很實用的例子
就是在線發送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 上了大家有興趣去看一下呵呵
From:http://tw.wingwit.com/Article/program/net/201311/14909.html