当前位置: 首页 > news >正文

网页无法访问如何解决h5优化公司哪家好

网页无法访问如何解决h5,优化公司哪家好,网站建设打造,微信小程序开发管理使用基本的Linux系统调用来创建一个TCP socket#xff0c;监听端口8080#xff0c;并在接受到客户端连接时创建一个新的线程来处理连接。每个连接处理函数都是一个独立的线程#xff0c;读取客户端请求并发送固定的HTTP响应。 代码#xff1a; #include iostream …      使用基本的Linux系统调用来创建一个TCP socket监听端口8080并在接受到客户端连接时创建一个新的线程来处理连接。每个连接处理函数都是一个独立的线程读取客户端请求并发送固定的HTTP响应。 代码 #include iostream #include string #include cstring #include sys/socket.h #include arpa/inet.h #include unistd.h #include pthread.hconst int BUFFER_SIZE 1024;void *connection_handler(void *socket_desc) {int sock *(int *)socket_desc;char buffer[BUFFER_SIZE];std::string response HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\nHello, World!;// 读取客户端请求ssize_t read_size read(sock, buffer, BUFFER_SIZE - 1);if (read_size 0) {buffer[read_size] \0;std::cout Received request:\n buffer std::endl;// 发送响应write(sock, response.c_str(), response.length());}// 关闭连接close(sock);delete (int *)socket_desc;return NULL; }int main() {int server_fd, client_sock;struct sockaddr_in server_addr, client_addr;socklen_t addr_len sizeof(struct sockaddr_in);// 创建 socketserver_fd socket(AF_INET, SOCK_STREAM, 0);if (server_fd -1) {std::cerr Failed to create socket. std::endl;return 1;}// 设置服务器地址和端口server_addr.sin_family AF_INET;server_addr.sin_addr.s_addr INADDR_ANY;server_addr.sin_port htons(8080);// 绑定地址和端口if (bind(server_fd, (struct sockaddr *)server_addr, sizeof(server_addr)) 0) {std::cerr Failed to bind. std::endl;return 1;}// 监听连接if (listen(server_fd, 10) 0) {std::cerr Failed to listen. std::endl;return 1;}std::cout Server started. Listening on port 8080... std::endl;while (true) {// 接受客户端连接client_sock accept(server_fd, (struct sockaddr *)client_addr, addr_len);if (client_sock 0) {std::cerr Failed to accept connection. std::endl;continue;}std::cout New connection accepted. std::endl;// 创建线程处理连接pthread_t thread;int *new_sock new int;*new_sock client_sock;if (pthread_create(thread, NULL, connection_handler, (void *)new_sock) 0) {std::cerr Failed to create thread. std::endl;return 1;}// 分离线程使其自行释放资源pthread_detach(thread);}// 关闭服务器 socketclose(server_fd);return 0; }代码解析 这段代码实现了一个简单的基于Linux的轻量级多线程HTTP服务。它的主要逻辑如下 引入所需的头文件和库包括iostream用于输入输出、string用于处理字符串、cstring用于字符串操作、sys/socket.h和arpa/inet.h用于socket编程、unistd.h用于关闭连接和pthread.h用于多线程编程。 定义常量和变量将缓冲区大小定义为BUFFER_SIZE并声明服务器socket文件描述符(server_fd)和客户端socket文件描述符(client_sock)以及服务器地址(server_addr)和客户端地址(client_addr)。 创建连接处理函数定义了一个名为connection_handler的函数该函数作为每个连接的处理函数。它接受一个void*类型的参数将其转换为int*类型表示客户端socket文件描述符。在该函数中首先从客户端读取请求并打印到控制台然后向客户端发送固定的HTTP响应。最后关闭客户端socket连接并释放分配的内存。 主函数在主函数中首先创建服务器socket(server_fd)。然后设置服务器地址和端口并将其与socket绑定。接下来开始监听连接请求。在一个无限循环中使用accept函数接受客户端连接并创建一个新的线程来处理连接。为了能够将客户端socket传递给新线程使用new运算符动态分配了一个int类型的指针new_sock并将客户端socket文件描述符赋值给它。然后使用pthread_create函数创建一个新的线程将新线程的执行函数设置为connection_handler并将new_sock作为参数传递给新线程。最后使用pthread_detach函数将新线程设置为分离状态使其在完成后自动释放资源。 关闭服务器socket在无限循环中无法达到的代码当服务端结束时关闭服务器socket(server_fd)。 这段代码使用了基本的Linux系统调用和pthread库来实现一个简单的多线程HTTP服务。它接受客户端连接并为每个连接创建一个独立的线程来处理请求和发送响应。需要注意的是这只是一个简化的示例实际的HTTP服务器需要考虑更多的功能和错误处理例如处理HTTP请求的各种方法、路径解析、错误处理等。
http://www.huolong8.cn/news/94821/

相关文章:

  • 成都市建设相关网站做外汇看新闻在什么网站看
  • 自己做网站不推广网站开始怎么做
  • 品牌手表网站移动端网站咋做
  • 网站优化招商有哪些做平面设计好的网站有哪些
  • 我想做一个网站怎么做网站不关站备案
  • 深圳商城网站设计公司怎样做企业宣传推广
  • 成都 网站开发网站推广引流
  • 秦皇岛手机网站制作价格wordpress的pjax主题
  • 网站的内部优化网站制作公司怎么样
  • wordpress主题原理网站搜索引擎优化的步骤
  • 网站注册流程和费用网站导航栏动效怎么做
  • iis 默认网站删除成都网站优化
  • 济南建设网站哪里好wordpress主题演示导入
  • 泰兴网站开发一个企业seo网站的优化流程
  • 欧米伽男士手表官方网站wordpress数据表前缀
  • 2015年做啥网站能致富济南做网站的高端品牌
  • 地方门户网站规划嘉兴城乡建设局网站
  • 网站权重如何提高做评测好的视频网站有哪些
  • 网页制作制作网站wordpress幻灯片太卡
  • 做暖暖视频网站观看百姓国货app下载
  • 在手机上建网站苏州园区网站制作公司
  • 网页站点怎么命名鄞州区建设局网站
  • 哈尔滨网站改版专门做婚庆的网站
  • 上海利恩建设集团有限公司网站微网站开发服务
  • 泰州网站设计哪家好win2008网站404
  • 苏州企业网站建设电话婚纱摄影网站怎么建设
  • 藁城网站建设哪家好网站建设与管理视频
  • 做公司网站的时间开发免费app
  • 平凉市建设局门户网站东莞wordpress
  • 有没有外国人做发明的网站专做品牌网站