[已解决]请教使用TCPSend()发送数据!?
本帖最后由 t895073 于 2011-10-10 01:15 编辑图片是我想要发送一样的数据给对方
-------------------------
$szData = "..?.......... I.........123450..b10000000..I...u..u..Y{.M.aqs]Eo"
TCPSend($ConnectedSocket, $szData)
If @error Then ExitLoop
------------------------
发送结果变成如下图..服务端接收到怪的数据
数据有发送出去!但是我的作法好像错了...
请问要怎样发送数据才会跟原先的封包一样呢?谢谢 忘了tcpsend有没有二进制参数了,不行的话先转下码试试 本帖最后由 republican 于 2011-10-2 19:09 编辑
回复 1# t895073
你发的是"..."嘛,当然是0x2E 0x2E 0x2E 啦。请自行构造Binary变量。
参考下面的:
TCPStartup()
$ConnectedSocket = TCPConnect(TCPNameToIP("www.baidu.com"), 80)
If @error Then MsgBox(4112, "错误", "TCP连接失败,服务端未启用!错误代码: " & @error)
$Header = Binary("0x474554202F20485454502F312E310D0A557365722D4167656E743A204F706572612F392E3830202857696E646F7773204E5420362E313B20553B2045646974696F6E20494249533B207A682D636E292050726573746F2F322E392E3136382056657273696F6E2F31312E35310D0A486F73743A207777772E62616964752E636F6D0D0A4163636570743A20746578742F68746D6C2C206170706C69636174696F6E2F786D6C3B713D302E392C206170706C69636174696F6E2F7868746D6C2B786D6C2C20696D6167652F706E672C20696D6167652F776562702C20696D6167652F6A7065672C20696D6167652F6769662C20696D6167652F782D786269746D61702C202A2F2A3B713D302E310D0A4163636570742D4C616E67756167653A207A682D434E2C7A683B713D302E392C656E3B713D302E380D0A4163636570742D456E636F64696E673A20677A69702C206465666C6174650D0A436F6F6B69653A20424149445549443D33333236373545413637313544414431373537434439463038343832383037363A46473D310D0A436F6E6E656374696F6E3A204B6565702D416C6976650D0A0D0A")
TCPSend($ConnectedSocket, $Header)
Sleep(1000)
$recv = TCPRecv($ConnectedSocket, 8 * 1024)
TCPShutdown()
ConsoleWrite($recv) 本帖最后由 chenronting 于 2011-10-3 10:43 编辑
回复 3# republican
居然给Baidu发,,不过我这里用你的源码没有结果,好像错误了 本帖最后由 republican 于 2011-10-3 12:41 编辑
回复 4# chenronting
HTTP本身就基于TCP,给谁发都一样。
哪里有错误呢?这就是服务器的回应。
截断的3745字节需要的自行改代码吧。 回复 5# republican
嗯, 多谢指教,不是很懂! 回复 3# republican
^^多谢!! 哇.............苦于学习.....
页:
[1]