linux网络编程
今晚打老虎吖
这个作者很懒,什么都没留下…
展开
-
网络编程(一)
网络体系结构 TCP/IP网络体系结构: 描述的是消息发出去的一种过程,应用程序如何收到消息,发送到内核中,通过网卡传输到网线上 1.应用层 HTTP FTP 传输层 最重要的数据:端口(区分不同服务标识PC机上运行的指定协议) 2字节(2Bytes) 16字节(16bits) 2^16 = 0~65535 TCP:有链接,可靠(保证对方收到) 难点:接原创 2018-01-14 13:57:55 · 276 阅读 · 0 评论 -
网络编程(二)
1.掌握服务器怎么打印谁来连接的我 connect_fd = accept(sock_fd,NULL,NULL);//阻塞,等待客户端连接 //accept函数 参数1:监听套接字 //accept函数 参数2:NULL 不传参(这里可以传入1个链接端的地址结构,用于获取链接端的IP地址、端口号) //accept函数 参数3:NULL 不传参(这里可以传入链接端套结字地址结构长度,与参数2原创 2018-01-14 14:51:47 · 204 阅读 · 0 评论 -
网络编程(三)
网络编程I/O 模型 1.分类、原理 五种, 阻塞式I/O 非阻塞I/O 区分recv返回值-1,判断errno==EWOULDBLOCK==EAGAIN,轮询 多路复用I/O 同时关注多个套接字,哪个套接字准备好就处理哪个 信号驱动I/O 事先注册新号处理函数,告诉内核,关注哪个套接字,如果有数据,内核就告诉应用程序拷贝数据 异步原创 2018-01-14 15:02:03 · 329 阅读 · 0 评论 -
网络编程(四)
1. 掌握并发服务器 多路复用是假的并发(本质上是串行处理),多进程或多线程实现才叫并发 服务器创建子进程去处理用户业务 并发服务器:适用于用户请求需要长时间解决完的情境 注意:子进程只处理用户业务,所以关闭监听套接字 父进程只接受新的连接,所以关闭链接套接字 父进程还要回收子进程尸体 服务器创建子线程去处理用户业务 2.掌握套接字选项的获取或设置,比如下面两行,设原创 2018-01-14 15:15:05 · 239 阅读 · 0 评论 -
网络编程(五)
1. 查询套接字接收缓冲区大小 int recvbuflen; int len = sizeof(int); getsockopt(sock_fd,SOL_SOCKET,SO_RCVBUF,&recvbuflen,&len); printf("recvbuflen: %d\n",recvbuflen); 2.unix域套接字 套接字地址结构不同 创建套接字的时候使用的是AF_原创 2018-01-14 15:26:04 · 289 阅读 · 0 评论