• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






药剂学徒

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  linux高性能服务器编程

1 2 下一页

 
非阻塞的c/s,epoll服务器模型
摘要:epoll 阅读全文
posted @ 2018-05-25 19:11 药剂学徒 阅读(173) 评论(0) 推荐(0)
epoll服务器模型
摘要:server: 阅读全文
posted @ 2018-05-25 16:55 药剂学徒 阅读(144) 评论(0) 推荐(0)
TCP-拥塞控制
摘要:和UDP不同,TCP要考虑到网络的拥塞状况。发送方允许发送的数据量不仅要收接收方的控制(流量控制),而且还要有网络的拥塞状况(如果有的话)决定。 1、报文段:格式、封装、TCP的链接:TCP是面向连接的协议。面向连接的运输层协议在源点和终点之间建立了一条虚路径。同属于一个报文段的所有报文都沿着这条路 阅读全文
posted @ 2018-05-24 23:17 药剂学徒 阅读(376) 评论(0) 推荐(0)
UDP用户数据报协议
摘要:最初的TCP/IP协议族为运输层制定了俩个协议。UDP和TCP。我们先讨论UDP: 用户数据报协议:位于网络层和应用层之间,提供介于应用程序和网络功能之间的服务。 运输层协议通常有几种责任:1、创建进程到进程的通信,UDP采用端口号来完成这种通信。 2、在运输层提供控制机制,UDP在一个非常低的水平 阅读全文
posted @ 2018-05-24 23:17 药剂学徒 阅读(269) 评论(0) 推荐(0)
udp实现c/s服务器模型
摘要:server client: 阅读全文
posted @ 2018-05-24 23:16 药剂学徒 阅读(240) 评论(0) 推荐(0)
poll服务器模型
摘要:服务端 客户端 阅读全文
posted @ 2018-05-23 22:28 药剂学徒 阅读(176) 评论(0) 推荐(0)
select服务器模型
摘要:服务端 客户端 阅读全文
posted @ 2018-05-23 22:26 药剂学徒 阅读(236) 评论(0) 推荐(0)
生产者消费者模型
摘要:互斥锁,条件变量实现:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 //#include 10 #include 11 #include... 阅读全文
posted @ 2018-05-19 21:18 药剂学徒 阅读(159) 评论(0) 推荐(0)
readv()和write()sendfile()
摘要:readv函数将文件描述符读取到分散的内存存快中,分散读,writev把分散的数据一并写入文件描述符中,集中写。 ssize_t readv(int fd,const struct iovec* vector,int count); ssize_t writev(int fd,const struc 阅读全文
posted @ 2018-05-05 10:58 药剂学徒 阅读(855) 评论(0) 推荐(0)
snprintf函数的用法
摘要:int snprintf(char *restrict buf, size_t n, const char * restrict format, ...); 函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n 的话,将不会溢出。 函数返回值:若成功则返回 阅读全文
posted @ 2018-05-04 23:49 药剂学徒 阅读(2236) 评论(0) 推荐(0)
struct stat结构体的简介
摘要:在使用这个结构体和方法时,需要引入: <sys/types.h> <sys/stat.h> struct stat这个结构体是用来描述一个linux系统文件系统中的文件属性的结构。 可以有两种方法来获取一个文件的属性: 1、通过路径: int stat(const char *path, struc 阅读全文
posted @ 2018-05-04 23:16 药剂学徒 阅读(193) 评论(0) 推荐(0)
half-socket
摘要:client: server: 阅读全文
posted @ 2018-05-02 18:41 药剂学徒 阅读(210) 评论(0) 推荐(0)
结构体struct sockaddr_in, struct sockaddr,struct in_addr
摘要:一、结构体 struct sockaddr_in, struct sockaddr, struct in_addr struct sockaddr_in, struct sockaddr,struct in_addr,这是网络编程中常用的结构体,每次都记不住它们各自的成员是啥,需要临时查,为方便以后 阅读全文
posted @ 2018-05-02 16:54 药剂学徒 阅读(1073) 评论(0) 推荐(0)
int main(int argc,char* argv[])的作用
摘要:main(int argc,char* argv[]):argc表示文件运行时候,以空格为单位的所有参数的个数。argv[]数组一次存放所有字符串。 比如: test one two three<回车> argc = 3,从0-3,argv[0] = test,argv[1]=one,argv[2] 阅读全文
posted @ 2018-05-02 16:25 药剂学徒 阅读(284) 评论(0) 推荐(0)
fgets和fputs,fread和fwrite,fscanf,和fprintf用法小结
摘要:一、fgets(str,n,fp); fgets(str,n,fp);就是从fp指向的文件中读取n-1个字符送入字符数组str中。 说明:1、在读出n-1个字符之前,如果遇到了换行符或者EOF,则读出结束。 2、fgets函数也有返回值,其返回值是字符数组的首地址。 二、fputs("abcd",f 阅读全文
posted @ 2018-05-01 23:41 药剂学徒 阅读(768) 评论(0) 推荐(0)
C++实现简单的http服务器
摘要:一、高级I/O函数: linux提供了很多高级I/O函数。他们并不像linux基础的I/O函数那么常用(编写内核模块时候一般需要这些I/O函数),但是在特定条件下表现出优秀的性能。 1、用于创建问价描述符的函数,pipe,dup,dup2; 2、用于读写数据的函数。 3、用于控制I/O行为和属性的函 阅读全文
posted @ 2018-04-27 15:45 药剂学徒 阅读(6074) 评论(0) 推荐(1)
http服务器
摘要:http服务器,就是一个运行在主机上的程序。程序启动了之后,会一直等待其他所有用户端的请求,接收到请求之后,处理请求,然后发送响应给客户端。客户端和服务器之间使用http协议进行通信,所有遵循http协议的程序都可以作为客户端。 socket套接字: int socket(int family,in 阅读全文
posted @ 2018-04-27 00:05 药剂学徒 阅读(706) 评论(0) 推荐(0)
第二章、IP协议详解
摘要:一、IP服务的的特点 IP协议是TCP/IP协议族的动力,他为上层协议提供的无状态无连接,不可靠的服务。 无状态是指IP通信双方不同步传输数据的状态信息,因此所有的ip数据报的发送,传出和接受都是相互独立的,没有上下文的联系。这种服务最大的缺点就是无法处理乱序和重复的IP数据报。比如,发送端发送出的 阅读全文
posted @ 2018-04-15 18:36 药剂学徒 阅读(324) 评论(0) 推荐(0)
第一章、TCP协议详解
摘要:TCP/IP协议包含众多协议,本章,我们介绍几个相关协议:ICMP协议,ARP协议,DNS协议,学习他们对于理解网络通信很有帮助。 一、TCP/IP协议族体系结构以及主要协议: TCP/IP协议从下到上分四层:数据链路层,网络层,传输层,应用层。 应用层 ping OSPF DNS 用户空间 传输层 阅读全文
posted @ 2018-04-14 22:58 药剂学徒 阅读(325) 评论(0) 推荐(0)
TCP滑动控制
摘要:TCP并不是么一个窗口都会回复ACK的,可能会对俩个报文段发送一个ACK,也可能会对多个报文段发送1个ACK,比如说,发送方有1/2/3/4个报文段,先发送2,3俩个报文段,但是接收方期望收到1报文段,这个时候,2,3报文段就只能放在缓存中等待报文1的空洞被天上,如果报文1一直不来,报文2,3也将被 阅读全文
posted @ 2018-04-08 16:03 药剂学徒 阅读(177) 评论(0) 推荐(0)
 

1 2 下一页