
网络编程
文章平均质量分 77
逆風的薔薇
这个作者很懒,什么都没留下…
展开
-
基本套接字编程(5) -- epoll篇
1. epoll技术原创 2015-12-23 17:40:05 · 1489 阅读 · 0 评论 -
LINUX环境并发服务器的三种实现模型
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。1 循环服务器与并发服务器模型在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。目前最常用的服务器模型有:·循环服务器:服务器在同一时刻只能响应一个客户端的请求·并发服务器:服务器在同一时刻可以响应多个客户端的请求转载 2016-07-22 15:56:01 · 635 阅读 · 0 评论 -
DNS同时使用TCP和UDP?
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。先简单介绍下TCP与UDP。 TCP是一种面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协议。UDP---用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传转载 2016-05-11 15:30:41 · 7099 阅读 · 1 评论 -
进程间通信与线程间通信
序今天被问及进程间通信的问题,发现自己了解的并不够,所以,对此好好总结一番~操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软、硬件资源,支持多任务的并行执行。要并行执行就需要多进程、多线程。因此多进程和多线程间为了完成一定的任务,就需要进行一定的通信。原创 2016-03-24 11:38:06 · 8228 阅读 · 0 评论 -
DDoS攻击 TCP UDP ICMP
从07年的爱沙尼亚DDOS信息战,到今年广西南宁30个网吧遭受到DDOS勒索,再到新浪网遭受DDOS攻击无法提供对外服务500多分钟。 DDOS愈演愈烈,攻击事件明显增多,攻击流量也明显增大,形势十分严峻,超过1G的攻击流量频频出现,CNCERT/CC掌握的数据表明,最高时达到了 12G,这样流量,甚至连专业的机房都无法抵挡。更为严峻的是:利用DDOS攻击手段敲诈勒索已经形成了一条完整的产业链!并转载 2016-03-11 21:00:37 · 13850 阅读 · 1 评论 -
Linux聊天室项目 -- ChatRome(select实现)
序项目简介:采用I/O复用技术select实现socket通信,采用多线程负责每个客户操作处理,完成Linux下的多客户聊天室!OS:Ubuntu 15.04IDE:vim gcc makeDB:Sqlite 3Time:2015-12-09 ~ 2012-12-21项目功能架构:采用client/server结构;给出客户操作主界面(注册、登录、帮助和退出)、登录后主界面(查看在线列表、私聊、原创 2015-12-22 11:39:08 · 6582 阅读 · 19 评论 -
基本套接字编程(4) -- poll篇
1. poll技术原创 2015-12-23 17:39:10 · 1256 阅读 · 0 评论 -
基本套接字编程(3) -- select篇
1. I/O复用我们学习了I/o复用的基本知识,了解到目前支持I/O复用的系统调用有select、pselect、poll、epoll。而epoll技术以其独特的优势被越来越多的应用到各大企业服务器。(后面将有poll & epoll单独学习笔记)基本概念IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:原创 2015-12-23 17:15:54 · 3454 阅读 · 0 评论 -
基本套接字编程(6) -- 线程篇
1. 线程传统Unix模型中,当一个进程需要另一个实体来完成某事,它就fork一个子进程来处理。Unix上大多数网络服务器程序便是以创建多个子进程的方式实现的:父进程accept一个连接,fork一个子进程,该子进程处理与该连接对端的客户之间的通信。尽管,这种范式多年来一直用的不错,但是fork调用依然存在一些问题:(1)fork是昂贵的,fork要把父进程的内存影像复制到子进程,并在原创 2015-12-23 19:43:48 · 974 阅读 · 0 评论 -
基本套接字编程(2) -- I/O模型篇
1. I/O模型简介最近一直在学习Unix网络编程,被Unix下各种I/O模型搞得头昏脑涨,结合《Unix网络编程 - 卷一》第六章 并参考了网上各牛们的分析,稍稍厘清了一些。因此记录下来,方便以后复习!原创 2015-12-23 16:51:48 · 934 阅读 · 0 评论 -
基本套接字编程(1) -- tcp篇
Socket简介Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。几个定义:(1)IP地址:即依照TCP/IP协议分配给本地主机的网络地址,两个进程要通讯,任一进程首先要知道通讯对方的位置,即对方的IP。(2)端口号:用来辨别本地通讯进程,一个本地的进程在通讯时均会占用一个端口号,不同的进程端口号不同,因此在通原创 2015-12-23 15:24:50 · 13227 阅读 · 7 评论 -
基本套接字编程(7) -- udp篇
1. UDP概述UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。UDP协议全称是用户数据报协议 ,在网络中它与TCP协议原创 2015-12-28 11:41:15 · 1590 阅读 · 0 评论 -
三次握手的第三个ACK包丢了——客户端认为连接建立,写数据时,会触发RST
序上次面试被问到一个问题,在TCP建立连接的三次握手阶段,如果客户端发送的第三个ACK包丢了,那么客户端和服务器端分别进行什么处理?听到问题,一下愣掉,有点傻了,根据读书时模模糊糊的印象,答了答,无疑打错了T...T分析当Client端收到Server的SYN+ACK应答后,其状态变为ESTABLISHED,并发送ACK包给Server; 如转载 2016-09-17 15:40:53 · 5367 阅读 · 2 评论