![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
通信
鱼非愚
真正的高贵是优于曾经的自己
展开
-
实现使用libevent库创建服务器连接多个客户端并实现数据互发
需要的头文件包含c库、Unix系统库和envent事件库#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>/* Required by event.h. */#include <sys/time.h>#include <stdlib.h>#include <stdio.h>原创 2021-09-29 19:06:45 · 1131 阅读 · 0 评论 -
tcp/ip详解
我们一般知道OSI的网络参考模型是分为7层:“应表会传网数物”——应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。而实际的Linux网络层协议是参照了OSI标准,但是它实现为4层:应用层,传输层,网络层,网络接口层。OSI的多层对应到了实际实现中的一层。我们最为关注的是传输层和网络层。一般而言网络层也就是IP层,负责IP路由寻址等等细节,而传输层TCP/UDP负责数据的可靠/快速的传输功能。...转载 2022-06-19 08:30:00 · 4167 阅读 · 0 评论 -
虚拟机远程连接
我的是基于Linux Ubuntu20版本在本机测试,如果想要与其他网段的主机连接需更改ip或者增加路由配置。1.虚拟机也相当于一个计算机了,我们要两个计算机可以互通,当然前提是要ping通,我们可以测试一下。我开始用的是NAT(网络地址转换)方式连接,但是这种方式通信时单向的,只能主机到计算机,host-only模式只允许虚拟机和计算机互通,不允许虚拟机访问外网。最好的方式是设置桥接方式连网,virtualBox设置桥接方式我出了如下差错,网上搜了一大堆,大部分说是计算机没有开启虚拟机的某个服务,如果原创 2022-03-22 10:54:23 · 6452 阅读 · 0 评论 -
基于TCP的客户端、服务器端socket编程
服务器端流程1.创建socket socket是一个结构体,被创建在内核中sockfd=socket(AF_INET,SOCK_STREAM,0); //AF_INT:ipv4, SOCK_STREAM:tcp协议2.调用bind函数 将socket和地址(包括ip、port)绑定。 需要定义一个结构体地址,以便于将port的主机字节序转化成网络字节序 struct sockaddr_in serveraddr; //地址结构体 bind函数 ...原创 2022-03-17 10:47:11 · 760 阅读 · 0 评论 -
Http客户端
开放的API接口:#ifndef _HTTP_CLIENT_H_#define _HTTP_CLIENT_H_#include <string>#include "curl/curl.h" /* 引入http 服务接口 */typedef size_t (*WriteDataCBFunc)(void* buffer, size_t size, size_t nmemb, void* lpVoid);class HttpClientBase // http.原创 2021-12-14 10:02:03 · 698 阅读 · 0 评论 -
http相关函数
// 用于读取请求详细信息的字符串类型。字符指针不为空struct http_string_s { char const * buf; int len;};struct http_server_s;struct http_request_s;struct http_response_s;// 返回服务器正在运行的事件循环 ID。这将是一个// 在 Linux 上运行时 epoll fd 或在 BSD 上运行 kqueue。这可以用来// 监听套接字等的活动。唯一需要注意的是用户.原创 2021-10-08 13:59:43 · 422 阅读 · 0 评论