How to do a net program in pure C, not in VC or others?

dot99 2002-08-25 06:00:07
I want to make a simple HTTP client program.
It can exchange information with http server.
The information can be a http header or other.
I know how to program in Borland C++ Biulder or VC but in pure C (using gcc, lcc or other).
Is there any documents I can get from internet?
Or who can send me some simple example for studying kindly?

Thanks.

sorry, I'm in the English System can't type Chinese.

dot99.
...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cai3995 2002-08-25
  • 打赏
  • 举报
回复
use the Socket API
richard2010 2002-08-25
  • 打赏
  • 举报
回复
A reference example:


//variables.
WSADATA ws; //ws data.
SOCKET s; //socket s.
struct sockaddr_in addr; //socket address.

int iResult; //connect result.
long lResult; //startup result.

//set value.
char strSubAddr[100]; //HTTP command.
char strBuffer[500]; //receive buffer.

//Winsock startup.
lResult = WSAStartup(0x0101,&ws);

//create socket.
s = socket(AF_INET,SOCK_STREAM,0);

//set address value.
addr.sin_family = AF_INET; //standard addr family(host byte order).
addr.sin_port = htons(80); //http port(network byte order).
addr.sin_addr.s_addr = inet_addr("211.147.104.5"); //(network byte order)

//connect to the HTTP server.
iResult=connect(s,(struct sockaddr *)&addr, sizeof(addr));

//error handling.
if(SOCKET_ERROR == iResult)
{
// connect failed.
WSACleanup();
return FALSE;
}
else {
strcpy(strSubAddr, "GET /khfw/fwzn.htm\r\n"); //http request.
strcpy(fname, "c:\\download.htm"); //local file.

//send the http request.
iResult = send(s, strSubAddr,strlen(strSubAddr),0);

// download.
do {
strset(strBuffer,' '); //clear the receiving buffer.
iResult = recv(s,strBuffer,sizeof(strBuffer),0); //receive data.
LogFile(strBuffer); //transfer from memory to hardisk.
} while( iResult !=0 );
}

//clear the socket.
WSACleanup();
代码转载自:https://pan.quark.cn/s/eefcd5647328 在信息技术行业中,BIOS(基本输入输出系统)扮演着计算机硬件与操作系统之间的重要桥梁角色,其主要职责包括对硬件进行初始化和检测,以及负责启动操作系统的加载流程。联想Y430P作为一款广受用户青睐的便携式计算设备,而“联想Y430P-刷BIOS V3.66”特指将这款设备的BIOS版本升级至V3.66的具体操作。此类操作有时是不可或缺的,因为BIOS的升级能够修正已知的系统缺陷,优化硬件的互操作性,或者提升整体运行效能。 我们必须明确为何需要进行BIOS的刷新操作。联想Y430P设备可能存在某些功能上的约束,比如网卡白名单机制,这种机制会限制用户更换非原装硬件设备,例如无线网络适配器。网卡白名单是BIOS内嵌的一种安全防护措施,它仅允许经过认证的特定型号网卡在系统中正常工作,以此来保障系统的兼容性与稳定性。然而,这种安全特性同时也对用户自主进行硬件升级造成了限制。通过安装新版本的BIOS,我们可以移除这类限制条件,使系统能够识别并兼容更多种类的网卡设备,具体而言,在更新至BIOS V3.66版本后,用户可以自由更换网卡和显卡,而不会触发设备未获授权的警示信息。 在执行BIOS刷新操作之前,必须保持高度的审慎态度,因为不恰当的BIOS更新可能导致设备无法正常启动。以下是进行BIOS刷新的标准流程: 1. **保存当前BIOS状态**:在执行更新之前,强烈建议对现有的BIOS进行备份,以便在更新后出现问题时能够迅速恢复至初始状态。 2. **获取精确版本的BIOS更新包**:需从官方渠道或可信赖的第三方资源中下载与联想Y430P设备相匹配的BIOS V3.66升级文件。 3. *...

4,394

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧