我用 WinInet 下载网页时碰到 ERROR_INTERNET_CONNECTION_RESET,怎么回事,如何解决?Ras 连接中断?不可能呀,一直保持在线状态呀。
解决方案 »
- CSocket必须多线程吗,必须要消息循环吗?
- 显示jpg图片到一 picture control控件里,显示歪了一些,向右下角偏了,大家帮我看看是什么原因,谢谢!
- USB接口的视频采集卡的二次开发,大侠帮忙!
- 通过网络邻居访问win2000,请问访问日志记录在win2000什么地方。
- 请问怎么在vc应用程序中定义一个全局变量,要求各个类中都能用。
- VC多线程情况下,父线程如何知道子线程结束了?(不使用消息传递)
- 关于InstallShield,如何在程序卸载时删除注册表中的某些信息?
- tooltipctrl如何显示啊,那个函数?//在onchar消息里
- VC源码编译顺序问题
- 菜鸟问题二:屏幕坐标转换成客户区坐标的函数~~~~~20分送上
- 急用,如何使CEdit框中鼠标选中的一段字符,用不同的字体、字号、颜色显示出来??
- 添加了list control,程序就不能启动了
//SDK post
///////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "winsock.h"
#pragma comment(lib,"ws2_32.lib")
#define winsock_version 0x0101
void main()
{
//I create C:\Inetpub\wwwroot\test\test.asp ,start the web service
//start my program, the result is OK.
//If it works,it is written by masterz,otherwise I don't know who write it.
SOCKADDR_IN saServer;
LPHOSTENT lphostent;
WSADATA wsadata;
SOCKET hsocket;
int nRet;
const char* host_name="127.0.0.1";
char* req="POST /test/test.asp HTTP/1.0\r\n"
"From: local\r\n"
"User-Agent: post_test/1.0\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Content-Length: 20\r\n\r\n"
"type=12345&name=aaaa";
if(WSAStartup(winsock_version,&wsadata))
printf("can't initial socket");
lphostent=gethostbyname(host_name);
if(lphostent==NULL)
printf("lphostent is null");
hsocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
saServer.sin_family = AF_INET;
// Use def. now, need to handle general case
saServer.sin_port = htons(80);
saServer.sin_addr = *((LPIN_ADDR)*lphostent->h_addr_list);
nRet = connect(hsocket, (LPSOCKADDR)&saServer, sizeof(SOCKADDR_IN));
if (nRet == SOCKET_ERROR)
{
printf("can't connect");
closesocket(hsocket);
return;
}
else
printf("connected with %s\n",host_name);
nRet = send(hsocket, req, strlen(req), 0);
if (nRet == SOCKET_ERROR)
{
printf("send() failed");
closesocket(hsocket);
}
else
printf("send() OK\n");
char dest[1000];
nRet=1;
while(nRet>0)
{
nRet=recv(hsocket,(LPSTR)dest,sizeof(dest),0);
if(nRet>0)
dest[nRet]=0;
else
dest[0]=0;
printf("\nReceived bytes:%d\n",nRet);
printf("Result:\n%s",dest);
}
}