264 lines
7.6 KiB
HTML
264 lines
7.6 KiB
HTML
<html>
|
|
<head>
|
|
<title>SNAC(04,06) client send-message command</title>
|
|
<style type="text/css">
|
|
body {background-color: white; font-size: 13px;}
|
|
td {font-size: 16px;}
|
|
.corr {color:red;}
|
|
</style>
|
|
</head>
|
|
|
|
<body bgcolor=white>
|
|
|
|
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
|
|
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#4040FF >
|
|
<table width=100% cellSpacing=0 cellPadding=0 border=0>
|
|
<tr>
|
|
<td><b><font color="white">SNAC(04,06) </font></b></td>
|
|
<td width=70% align=right><b><font color="white">CLI_SEND_ICBM </font></b></td>
|
|
</tr>
|
|
</table>
|
|
</td></tr>
|
|
</table>
|
|
</td></tr></table>
|
|
|
|
<table width=640 cellSpacing=0 cellPadding=0 border=0>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
Client use this snac to send message thru server. Within the ICBM
|
|
(Inter-Client Basic Message) types (family 4), a channel is defined.
|
|
Each channel represents a different kind of message.<br><br>
|
|
|
|
Channel 1 is used for what would commonly be called an "instant message" (plain
|
|
text messages). Channel 2 is used for complex messages (rtf, utf8) and
|
|
negotiating "rendezvous". These transactions end in something more
|
|
complex happening, such as a chat invitation, or a file transfer.
|
|
Channel 3 is used for chat messages (not in the same family as
|
|
these channels). Channel 4 is used for various ICQ messages.
|
|
Examples are normal messages, URLs, and old-style
|
|
authorization.<br><br>
|
|
|
|
This snac contain one fixed part (target uin, channel, msg-id cookie)
|
|
and <b>channel-dependend</b> tlv-chain.<br><br>
|
|
|
|
First dword in msg-id cookies is actually the computer uptime in milliseconds
|
|
(ie GetTickCount(), at least this is what the ICQ Lite and the other official
|
|
clients I have tested uses).<br><br>
|
|
|
|
|
|
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
|
|
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#E9E9E9 >
|
|
|
|
<table width=100% cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr>
|
|
<td width=169> 00 04</td>
|
|
<td width=5> </td>
|
|
<td>word</td>
|
|
<td width=5> </td>
|
|
<td width=55%>SNAC family</td>
|
|
</tr>
|
|
<tr>
|
|
<td> 00 06</td>
|
|
<td> </td>
|
|
<td>word</td>
|
|
<td> </td>
|
|
<td>SNAC subtype</td>
|
|
</tr>
|
|
<tr>
|
|
<td> 00 00</td>
|
|
<td> </td>
|
|
<td>word</td>
|
|
<td> </td>
|
|
<td>SNAC flags</td>
|
|
</tr>
|
|
<tr>
|
|
<td> xx xx xx xx</td>
|
|
<td> </td>
|
|
<td>dword</td>
|
|
<td> </td>
|
|
<td>SNAC request-id</td>
|
|
</tr>
|
|
</table>
|
|
</td></tr>
|
|
<tr><td bgcolor=#E9E9E9>
|
|
|
|
<table width=100% cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr>
|
|
<td width=20> </td>
|
|
<td width=147> xx xx xx xx<br> xx xx xx xx</td>
|
|
<td> </td>
|
|
<td valign=top>qword</td>
|
|
<td> </td>
|
|
<td width=55% valign=top>msg-id cookie</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td> xx xx</td>
|
|
<td> </td>
|
|
<td>word</td>
|
|
<td> </td>
|
|
<td>message channel (see table below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td> xx</td>
|
|
<td> </td>
|
|
<td>byte</td>
|
|
<td> </td>
|
|
<td>screenname string length</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td> xx ..</td>
|
|
<td> </td>
|
|
<td>string</td>
|
|
<td> </td>
|
|
<td>screenname string</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- TLV 0xXX -->
|
|
<table width=630 cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr><td height=8 colspan=3></td></tr>
|
|
<tr><td width=20> </td>
|
|
<td>
|
|
<table width=600 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
|
|
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9>
|
|
<table width=600 cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr>
|
|
<td width=147> xx xx</td>
|
|
<td width=5> </td>
|
|
<td>word</td>
|
|
<td width=5> </td>
|
|
<td width=55%>TLV.Type(0xXX) - icbm info</td>
|
|
</tr>
|
|
<tr>
|
|
<td> xx xx</td>
|
|
<td> </td>
|
|
<td>word</td>
|
|
<td> </td>
|
|
<td>TLV.Length</td>
|
|
</tr>
|
|
</table>
|
|
</td></tr>
|
|
<tr><td bgcolor=#f9f9f9>
|
|
|
|
<table width=600 cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr>
|
|
<td width=147> ....</td>
|
|
<td width=5> </td>
|
|
<td width=17%>....</td>
|
|
<td width=5> </td>
|
|
<td width=55%>....</td>
|
|
</tr>
|
|
</table>
|
|
</td></tr>
|
|
</table>
|
|
</td></tr></table>
|
|
</td><td width=5> </td></tr>
|
|
<tr><td height=5 colspan=3> </td></tr>
|
|
</table>
|
|
|
|
<table width=630 cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr>
|
|
<td width=147> </td>
|
|
<td width=23%>....</td>
|
|
<td width=17% valign=top> ....</td>
|
|
<td valign=top>....</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- TLV 0xXX -->
|
|
<table width=630 cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr><td height=8 colspan=3></td></tr>
|
|
<tr><td width=20> </td>
|
|
<td>
|
|
<table width=600 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
|
|
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0><tr><td bgcolor=#f9f9f9>
|
|
<table width=600 cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr>
|
|
<td width=147> xx xx</td>
|
|
<td width=5> </td>
|
|
<td>word</td>
|
|
<td width=5> </td>
|
|
<td width=55%>TLV.Type(0xXX) - icbm info</td>
|
|
</tr>
|
|
<tr>
|
|
<td> xx xx</td>
|
|
<td> </td>
|
|
<td>word</td>
|
|
<td> </td>
|
|
<td>TLV.Length</td>
|
|
</tr>
|
|
</table>
|
|
</td></tr>
|
|
<tr><td bgcolor=#f9f9f9>
|
|
<table width=600 cellSpacing=0 cellPadding=0 align=center border=0>
|
|
<tr>
|
|
<td width=147> ....</td>
|
|
<td width=5> </td>
|
|
<td>....</td>
|
|
<td width=5> </td>
|
|
<td width=55%>....</td>
|
|
</tr>
|
|
</table>
|
|
</td></tr>
|
|
</table>
|
|
</td></tr></table>
|
|
</td><td width=5> </td></tr>
|
|
<tr><td height=5 colspan=3> </td></tr>
|
|
</table>
|
|
|
|
</td></tr></table>
|
|
</td></tr></table>
|
|
</td></tr></table>
|
|
|
|
<br>
|
|
|
|
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
|
|
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=white>
|
|
|
|
<table width=100% cellSpacing=1 cellPadding=1 align=center border=0>
|
|
<tr>
|
|
<td bgcolor=#f0f0f0 valign=top width=15%><b> <font size=2><a href="snac_04_06_ch1.html">Channel 1</a> </b></font></td>
|
|
<td bgcolor=#f0f0f0 valign=top> Channel 1 message format (plain-text messages)</td>
|
|
</tr>
|
|
<tr>
|
|
<td bgcolor=#f0f0f0 valign=top><b> <font size=2><a href="snac_04_06_ch2.html">Channel 2</a> </b></font></td>
|
|
<td bgcolor=#f0f0f0 valign=top> Channel 2 message format (rtf messages, rendezvous)</td>
|
|
</tr>
|
|
<tr>
|
|
<td bgcolor=#f0f0f0 valign=top><b> <font size=2><a href="snac_04_06_ch4.html">Channel 4</a> </b></font></td>
|
|
<td bgcolor=#f0f0f0 valign=top> Channel 4 message format (typed old-style messages)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td></tr></table>
|
|
</td></tr></table>
|
|
|
|
<br>
|
|
|
|
<table width=640 bgcolor=darkgray cellSpacing=0 cellPadding=0 border=0><tr><td>
|
|
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#E9E9E9 ><table width=100% cellSpacing=0 cellPadding=0 border=0>
|
|
<tr><td align=center valign=middle><b><font color=black size=2>
|
|
|
|
<a href="index.html" target="_top">Main</a> |
|
|
<a href="basic.html" target="_top">Basic</a> |
|
|
<a href="login.html" target="_top">Login</a> |
|
|
<a href="families.html" target="_top">Snaclist</a> |
|
|
<a href="sequences.html" target="_top">Sequences</a> |
|
|
<a href="lists.html" target="_top">Misc</a> |
|
|
<a href="changes.html" target="_top">Changes</a> |
|
|
<a href="credits.html" target="_top">Credits</a> |
|
|
<a href="terms.html" target="_top">Terms</a>
|
|
|
|
</font></b></td></tr></table>
|
|
</td></tr></table>
|
|
</td></tr></table>
|
|
|
|
<!--#include virtual="_bottom.htxt" -->
|
|
|
|
</body>
|
|
</html>
|