社区
C++ 语言
帖子详情
如何将socket通信中receive来的内容存进html?
dairuijia
2007-05-02 07:32:02
就是将socket通信过程中receive来的内容存进html里面。请问怎么做?谢谢
...全文
241
6
打赏
收藏
如何将socket通信中receive来的内容存进html?
就是将socket通信过程中receive来的内容存进html里面。请问怎么做?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dairuijia
2007-05-04
打赏
举报
回复
up
dairuijia
2007-05-03
打赏
举报
回复
顶
dairuijia
2007-05-02
打赏
举报
回复
这个是dev c++ 不是vc 有这样的方法么?
jinhaijian
2007-05-02
打赏
举报
回复
你可以用string把所有的内容连接起来,VC中调试时,字符串显示就有三种方式,一种Text、XML、HTML。
还有你可以直接用WinInet中的函数来代替用Socket.
dairuijia
2007-05-02
打赏
举报
回复
上面是我的程序 ,就是将两次recv(sockfs,recvline,MAXLINE,0)<0存到一个html里,以便看到是不是真的接受了想要的内容。
dairuijia
2007-05-02
打赏
举报
回复
#include <stdio.h>
#include <string>
#include <winsock.h>
#include <winsock2.h>
#include <iostream>
#define MAXLINE 10000
#define SA struct sockaddr
#define SOCKET int
using namespace std;
int main (int argc,char * argv[])
{
string s1,s2,s3,s4;
cin>>s1>>s2>>s3>>s4;
char recvline[MAXLINE+1];
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,1),&wsaData)!=0)
{
perror("initial error!");
_sleep(2000);
WSACleanup();
exit(1);
}
struct sockaddr_in server_addr;
struct hostent *hp;
hp=(struct hostent *)malloc(sizeof(struct hostent));
hp=gethostbyname("www.baidu.com");
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(80);
memcpy((char*)&server_addr.sin_addr,(char*)hp->h_addr,hp->h_length);
free(hp);
SOCKET sockfd;
if ((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)/*判断socket是否出错*/
{
perror("socket error");
_sleep(2000);
exit(1);
}
if(connect(sockfd,(SA*)&server_addr,sizeof(server_addr))<0) //连接socket
{
perror("connection error!");
_sleep(2000);
exit(1);
}
string strkey=(string)"GET /s?wd="+s2+(string)"&cl=3 HTTP/1.1\r\n\r\n"
"Accept: */*\r\n\r\n"
"Referer: http://www.baidu.com/\r\n\r\n"
"Accept-Language: zh-cn\r\n\r\n"
"Accept-Encoding: gzip, deflate\r\n\r\n"
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n"
"Host: www.baidu.com\r\n\r\n"
"Connection: Keep-Alive\r\n\r\n";
const char* ptrkey =strkey.c_str();
char bufferkey[2048];
for (int i=0;i<strkey.length();i++)
{
bufferkey[i++]=*ptrkey++;
}
if(send(sockfd,bufferkey,sizeof(bufferkey),0)<0) //发送关键字
{
perror("send error!");
_sleep(2000);
exit(1);
}
else
{
cout<<"sending message to baidu....\r\n\r\n";
_sleep(2000);
}
if(recv(sockfd,recvline,MAXLINE,0)<0) //搜索结果返回
{
perror("recv error!");
_sleep(2000);
exit(1);
}
else
{
cout<<"receiving message from baidu....\r\n\r\n";
_sleep(2000);
}
closesocket(sockfd);
SOCKET sockfs;
if ((sockfs=socket(AF_INET,SOCK_STREAM,0))<0)/*判断socket是否出错*/
{
perror("socket error");
_sleep(2000);
exit(1);
}
if(connect(sockfs,(SA*)&server_addr,sizeof(server_addr))<0) //连接socket
{
perror("connection error!");
_sleep(2000);
exit(1);
}
string strclick= (string)"GET /w.gif?query="+s2+(string)"&e=959f"/*&e=?不知道怎么处理*/+(string)"&title="+s4+(string)"&url=http%3A//www.rfidinfo.com.cn/Portal/Simple/"
"Contact_4209.html&spos=4&path=http://www.baidu.com/s?ie=gb2312&bs=rfid&sr=&z=&cl=3&f=8&wd=rfid+"
"%D0%C5%B4%EF%BB%E3%B4%CF&ct=0&t=1177206870437" /*url怎么处理?*/+
(string)"HTTP/1.1\r\n\r\nAccept: */*\r\n\r\nReferer: http://www.baidu.com/s?wd="+s2+(string)"&cl=3\nAccept-Language: zh-cn\r\n\r\n"
"Accept-Encoding: gzip, deflate\r\n\r\n"
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n"
"Host: s.baidu.com\r\n\r\n"
"Connection: Keep-Alive\r\n\r\n" ;
const char* ptrclick =strkey.c_str();
char bufferclick[2048];
for (int i=0;i<strclick.length();i++)
{
bufferkey[i++]=*ptrkey++;
}
if(send(sockfs,bufferclick,sizeof(bufferclick),0)<0) //点击搜索结果
{
perror("send error!");
_sleep(2000);
exit(1);
}
else
{
cout<<"sending message to baidu....\r\n\r\n";
_sleep(2000);
}
if(recv(sockfs,recvline,MAXLINE,0)<0) //返回点击内容
{
perror("recv error!");
_sleep(2000);
exit(1);
}
else
{
cout<<"receiving message from baidu....\r\n\r\n";
_sleep(2000);
}
cout<<"succeed!";
_sleep(2000);
closesocket(sockfs);
exit(0);
}
python的
socket
编程接收
html
上的文件_python
socket
通信
编程实现文件上传代码实例
这篇文章主要介绍了python
socket
通信
编程实现文件上传代码实例,文
中
通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下写一个file_re
ceive
.py和一个file_send.py程序,由file_send.py上传一个文件,file_re
ceive
.py接收上传的文件,写到指定的包内#file_re
ceive
.pyimport
socket
...
web
socket
re
ceive
方法内 有循环怎么退出_认识
HTML
5的Web
Socket
在
HTML
5规范
中
,我最喜欢的Web技术就是正迅速变得流行的Web
Socket
API。Web
Socket
提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看
HTML
5的Web
Socket
API:它可用于客户端、服务器端。而且有一个优秀的第三方API,名为
Socket
.IO。一、什么是...
Web
Socket
与
Socket
.IO实时
通信
技术对比与选型指南
实时
通信
技术是现代Web应用开发
中
的关键组件,其核心原理是通过持久化连接实现服务器与客户端的双向数据交换。不同于传统的HTTP请求-响应模式,Web
Socket
协议提供了真正的全双工
通信
能力,而
Socket
.IO则在其基础上构建了更高级的抽象层。从技术实现来看,Web
Socket
作为
HTML
5标准协议,具有更低的协议开销和更好的性能表现;
Socket
.IO则通过自动重连、房间管理等特性大幅降低了开发复杂度。在金融交易、在线协作等对实时性要求严格的场景
中
,合理选择
通信
方案直接影响系统响应速度和用户体验。通过对
FastAPI
中
Web
Socket
与
Socket
.IO实时
通信
选型指南
实时
通信
技术在现代Web应用
中
扮演着关键角色,其
中
Web
Socket
作为
HTML
5标准协议,通过单一TCP连接实现全双工
通信
,具有低延迟、高效率的特点。而
Socket
.IO作为上层封装,提供了传输降级、自动重连等增强功能。从技术原理看,Web
Socket
适合对性能要求苛刻的场景如金融实时数据推送,而
Socket
.IO则更擅长处理复杂业务逻辑如多房间聊天系统。在FastAPI框架
中
,开发者可以通过web
socket
s库直接使用Web
Socket
协议,或配合python-
socket
io实现
Socket
.IO功
C语言实现HTTP/HTTPS
通信
:从
Socket
编程到OpenSSL集成
网络
通信
是现代软件开发的基石,其底层依赖于TCP/IP协议栈。
Socket
编程作为操作系统提供的网络编程接口,允许应用程序直接操作传输层,建立可靠的字节流连接。在此基础上,应用层协议如HTTP定义了客户端与服务器之间交换数据的格式,而HTTPS则通过引入TLS/SSL安全层,在TCP连接之上进行加密握手与数据传输,保障了
通信
的机密性与完整性。理解这些底层原理对于开发高性能网络服务、嵌入式系统或进行深度网络调试具有重要价值。本文聚焦于使用C语言手动实现HTTP和HTTPS
通信
,通过解析协议报文、处理TCP连接
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章