
网络
时间溜走了
学无止境
展开
-
CocosCreator通用框架设计之网络
CocosCreator通用框架设计之网络转载 2023-02-14 22:16:16 · 2126 阅读 · 2 评论 -
OpenSSL中base64编解码使用
/** *由于2进制有一些特殊的字符,在传输的过程传给对端对面解析乱码问题 *\0也是特使字符在传输的过程中读取的时候遇到\0系统认为是结束字符所以导致数据不完整 *含有中文的数据写进数据库数据库存储也会乱码 读取出去也会乱码 *为了解决了以上的问题我们引用了base64进行编码,生成二进制的时候 存储或者传输的时候我们先将他们base64转码之后在进行存储或者传输 *openssl 里面封装bio对象的 可以对base64操作 */#include<openssl/buffer.h>#in原创 2021-07-11 16:05:14 · 1202 阅读 · 0 评论 -
生成的密钥对进行加解密、签名和效验
生成对应的私钥和公钥#include<iostream>#include<openssl/sha.h>#include<openssl/rsa.h>#include<openssl/pem.h>#include<unistd.h>#include<stdlib.h>#include<string.h>#include<string>extern "C"{ // #include<原创 2021-07-04 14:15:23 · 294 阅读 · 0 评论 -
网络通信防止connect,accept,rend,write阻塞设置超时处理
为了防止connect,accept,rend,write阻塞在哪影响效率问题,我们设置一个认可超时时间处理,通过调用系统内核函数帮我检查读写缓冲区是个有数据可读,分析场景: 内核去维护一个双向读写缓冲区 类似乳滑动窗口,.发送端快速发送消息到到接收端,而接收端处理消息不及时,故接收端内核读缓冲区快满了,此时发送端send就会阻塞,read读超时设置:int readTimeOut(int cfd, int timeOut ){ //我们不知道内核的读缓冲区是否有数据到达,所有我们委托内核原创 2021-07-02 15:32:46 · 1641 阅读 · 0 评论 -
Tcp流式传输解决粘包和少包的方案
tcp是流式传输协议,接收端和发送端的 收发时间延时,此时会出现粘包现象。比如:再不考虑内核双向缓冲区的延时发送问题,客户端假设1s 发送100k,循环发,服务器每2s收一次数据,此时服务器收到了200k,出现了消息粘包,服务器也不知道客户端的消息分组情况,所以我们需要和客户端协商一个解决方案,类型tcp底层封装思想一下定义为 消息头和消息体:下面伪代码展示一下:发送端:void sendMsg(int fd, char* sendData){ /*这里的sendData数据体他是字符串形式的原创 2021-07-02 11:19:36 · 502 阅读 · 0 评论 -
浏览器请求服务器静态文件的实现
服务器是基于epoll实现ET模式 非阻塞模式,浏览器用Get请求方式访问服务器本地资源写这个demo过程中遇到问题: 1.浏览器 访问的 例如 192.168.1.130:8989/ 这个 '/'这个根文件不是服务器跟目录而是服务器的本地资源相对路径,所有要切换服务器的目录到 浏览器资源访问的目录下 通过chdir设置,浏览器访的 路径 假设一个图片192.168.1.130:8989/wsy.png; 通过http数据的解析 我们得到的是/wsy.png 此时需要...原创 2021-06-23 00:41:35 · 1884 阅读 · 2 评论 -
libevent网络框架学习
//client.c#include<stdlib.h>#include<stdio.h>#include<unistd.h>#include<string.h>#include<fcntl.h>#include<sys/stat.h>#include<event2/event.h>#include<event2/bufferevent.h>char buf[1024];void read.原创 2021-06-12 17:25:48 · 244 阅读 · 1 评论 -
Linux网络编程之tcp/ip编程
客户端语服务端进行通信原创 2017-08-29 09:31:19 · 559 阅读 · 1 评论 -
论fork()函数与Linux中的多线程编程
转载请说明出处:http://blog.youkuaiyun.com/cywosp/article/details/27316803一、fork()函数 在操作系统的基本概念中进程是程序的一次执行,且是拥有资源的最小单位和调度单位(在引入线程的操作系统中,线程是最小的调度单位)。在Linux系统中创建进程有两种方式:一是由操作系统创建,二是由父进程创建进程(通常为子进程)。系转载 2017-08-31 11:09:54 · 200 阅读 · 0 评论 -
UDP 单播、广播和多播
阅读目录(Content)一、UDP广播 二、UDP多播1、多播(组播)的概念2、广域网的多播三、UDP广播与单播广播与单播的比较 使用UDP协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,客户转载 2017-09-14 17:43:09 · 429 阅读 · 0 评论 -
Linux下网络编程之自定义协议进行并发多客户端与服务器的通信(多进程处理并发)不足占用资源太多
自定义协议消息体#include #include #include #include #include #include #include #include "msg.h"/*计算校验码*/static unsigned char msg_check(Msg* message){ //将头部和体部进行累加 unsigned char s = 0; int i原创 2017-09-01 00:17:43 · 945 阅读 · 0 评论