
网络编程
_浪潮之巅
天空不曾留下鸟的痕迹,但我已飞过。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络字节序和主机字节序
我们都知道,如今的通讯方式已经趋向与多样化,异构通信(计算机软件(操作系统) + 计算机硬件(内核架构,ARM,x86)不同)也已经很普遍了,如,手机和电脑中的qq进行通信,,,同时,在计算机设计之初,对内存中数据的处理也有不同的方式,(低位数据存储在低位地址处或者高位数据存储在低位地址处),然而,在通信的过程中(ISO/OSI模型和TCP/IP四层模型中),数据被一步步封装(然转载 2017-04-16 17:27:20 · 973 阅读 · 0 评论 -
epoll边缘触发(epoll et) 源代码例子
在利用epoll编写网络应用程序,特别是服务器的时候。为了得到最优的效果,一般采用边缘触发(epoll ET)的方式。由于边缘触发,epoll_wait只有在套接字状态发生变化的时候才会返回。所以要对套接字(socket)进行循环accept,read,write;直到套接字的缓冲区空(read,accept)或者填满(write)为止。当read返回的字节数小于要读的字节数,或者返回EAGAIN转载 2017-08-24 11:31:48 · 662 阅读 · 0 评论 -
socket的局域网广播
广播1. TCP/IP协议栈中, 传输层只有UDP可以广播.2. 只能对同一子网内部广播, 广播数据包不经过路由器.3. UDP的广播地址为255.255.255.2554. 在winsock实现中, 有一个选项对应是否允许广播.linux下必须调用setsockopt打开该选项.5. 打开后, 用sendto向255.255.255.255发送的数据包全部广播.很多局转载 2017-04-27 18:09:25 · 1930 阅读 · 0 评论 -
TCP服务器端和客户端程序设计
一、实验目的学习和掌握Linux下的TCP服务器基本原理和基本编程方法,体会TCP与UDP编程的不同,UDP编程:http://blog.youkuaiyun.com/yueguanghaidao/article/details/7055985二、实验平台Linux操作系统三、实验内容编写Linux下TCP服务器套接字程序,程序运行时服务器等待客户的连接,一旦连接成功,转载 2017-04-26 16:40:59 · 756 阅读 · 0 评论 -
UDP服务器端和客户端程序设计
实验三 UDP服务器端程序设计一、实验目的学习和掌握Linux下的UDP服务器基本原理和基本编程方法,体会与TCP的区别,TCP编程:http://blog.youkuaiyun.com/yueguanghaidao/article/details/7035248二、实验平台ubuntu-8.04操作系统三、实验内容编写Linux下UDP服务器套接字程序,服务器转载 2017-04-26 16:38:07 · 682 阅读 · 0 评论 -
Linux网络编程--使用epoll模型同时处理tcp和udp服务
在实际工作中,服务器需要同时监听和处理tcp和udp的套接字,同时监听N多的端口。根据bind系统调用来讲,一个socket只能监听一个端口,因此要创建多个socket并绑定到各个端口上。当然同一个端口可以同时绑定tcp和udp的socket,但是要创建两个socket,一个是tcp的一个是udp的。下面我们就写一个可以同时处理tcp和udp服务的回射服务器。#include #in转载 2017-05-17 11:44:23 · 642 阅读 · 0 评论 -
epoll 水平触发 边沿触发
http://www.cppfans.org/1417.htmlhttp://blog.lucode.net/linux/epoll-tutorial.html 现如今,网络通讯中用epoll(linux)和IOCP(windows)几乎是大家津津乐道的东西,不为别的,就因为高效,所以大家喜欢用。IOCP的基础东西已经讲过了,可翻阅《IOCP浅析》 《IOCP浅析[二]——IOCP出现转载 2017-04-16 17:54:33 · 2008 阅读 · 0 评论 -
阻塞、非阻塞、异步、同步以及select/poll和epoll
转自: http://blog.youkuaiyun.com/lcx46/article/details/42006845针对IO,总是涉及到阻塞、非阻塞、异步、同步以及select/poll和epoll的一些描述,那么这些东西到底是什么,有什么差异?一般来讲一个IO分为两个阶段:等待数据到达把数据从内核空间拷贝到用户空间现在假设一个进程/线程A,试图进行一次IO操作。A发转载 2017-04-16 17:49:43 · 584 阅读 · 0 评论 -
TCP、消息分包和协议设计
TCP是一种流式协议讲网络编程的教科书一般都会对TCP的可靠传输,api用法做详细说明,但对于TCP是一种流式协议讲解的不多,但这背后隐藏着很重要的一个知识点。先做个名词定义方便交流,这里的“消息”是指应用层的一个完整的协议包。流式协议的特点是什么?就像流水连续不断那样,消息之间没有边界。例如send了3条消息,分别是100字节、50字节、80字节,recv时可能收到的是230字节,就转载 2015-06-18 11:10:04 · 2913 阅读 · 0 评论 -
EPOLLIN , EPOLLOUT , EPOLLPRI, EPOLLERR 和 EPOLLHUP事件
1、listen fd,有新连接请求,对端发送普通数据 触发EPOLLIN。2、带外数据,只触发EPOLLPRI。3、对端正常关闭(程序里close(),shell下kill或ctr+c),触发EPOLLIN和EPOLLRDHUP,但是不触发EPOLLERR 和EPOLLHUP。再man epoll_ctl看下后两个事件的说明,这两个应该是本端(server端)出错才触发的。5、对转载 2017-09-08 10:24:17 · 25949 阅读 · 5 评论