用MFC的CSocket做了一个HTTP的连接,第一次连接,一连就通,第二次连接,发出连接报文以后,没有响应,系统自动重发第二次,才能收到回应报文。
解决方案 »
- waveOutWrite函数播放mp3格式
- 求助。子窗体问题
- 一种类静态成员初始化的方案,高手可以看看
- 关于嵌入式发送接受数据
- vb mfcvc dll MFCDLL中VBFrame设置一个Command,press后可以得到MFC的Dialog,关闭Dialog后,再press command ,但是出现严重的问题!!!!!!
- 头文件包含的问题
- CSocket编程中函数的阻塞时间在哪里可以更改啊?
- 艺术字处理方法(像Word 中的艺术字)
- xml中如何插入电子邮件链接
- vcbear来吃分:)
- activex控件生成类的方式?(疑惑好久)(在线等)
- 请教:怎样在vc的应用程序的启动时,通过标识的判断,来关闭这个应用程序?
{
sock.Create(5555,SOCK_STREAM);
sock.Connect("192.168.1.1",80);
}void CDoxmlDlg::OnMySocketReceive()
{
char strRecv[500]="";
sock.Receive(strRecv, sizeof(strRecv));
MessageBox(strRecv);
sock.Close();
}
void CDoxmlDlg::OnButton2()
{
char buf[]="/*信息约*/";
sock.Send(buf,sizeof(buf));
}
http://community.csdn.net/Expert/topic/3532/3532744.xml?temp=.5008356
POST /UPnP/control/WANIPConnection HTTP/1.1
HOST: http://192.168.1.1:80
CONTENT-LENGTH: 259
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress"<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetExternalIPAddress xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1"></u:GetExternalIPAddress></s:Body></s:Envelope>收到的报文:
HTTP/1.1 200 OK
CONTENT-LENGTH:357
CONTENT-TYPE:text/xml;charset="utf-8"
EXT:
SERVER:System/1.0 UPnP/1.0 IGD/1.0<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:GetExternalIPAddressResponse xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">
<NewExternalIPAddress>192.168.150.5</NewExternalIPAddress>
</u:GetExternalIPAddressResponse>
</s:Body>
</s:Envelope>
希望大哥帮我解释一下为什么
发送的报文:
POST /UPnP/control/WANIPConnection HTTP/1.1
HOST: http://192.168.1.1:80
CONTENT-LENGTH: 259
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress"<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetExternalIPAddress xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1"></u:GetExternalIPAddress></s:Body></s:Envelope>我是跟设备里的CGI通信
这段话的意思是说你连接了两次吧。没有响应我估计是前一个socket端口还未退出的缘故
http://community.csdn.net/Expert/topic/3532/3532744.xml?temp=.5008356
顺便说说什么是三次握手,有同学说的是connect到accept,这个是很片面也是很肤浅的
三次握手是指:将要连接中的一方,发送一个带有SYN标志位的数据报到另一端,另一端收到这个报文以后,回应一个SYN ACK数据报(就是带有ACK标志的回应报文),第一端在收到这个SYN ACK以后,再回应一个ACK
SYN:请求连接
ACK:序号有效(通常用来表示收到)
哎~~~~~~~
中国真的没有优秀的程序员吗?
哎~~~~~~~~~~~