
网络编程
文章平均质量分 76
FeiYaaa
这个作者很懒,什么都没留下…
展开
-
网络编程基础(2) : 同步非阻塞
1. 簡介在"网络编程基础(1)"中提到过了同步与非阻塞的观念,现在我们将这两者作结合讨论~同步非阻塞I/O调用发起后,调用会得到内核返回的状态值,因此,在内核得到数据之前都不会被阻塞住,会阻塞的时机只有在内核把数据复制到用户进程缓冲区时才会阻塞。换句话说,如果将socket设为非阻塞的情况下,想要获得数据就得不断循环发起recv调用,实现方式大概是这样的:原创 2015-12-13 02:07:32 · 682 阅读 · 0 评论 -
Python学习笔记(3):类、网路编程
Python系列的学习重点大概先写到这篇为止,其他基础的东西可以去翻翻官方文件,以后在实作上有遇到一些有趣的议题会再以文章来记录。本篇主要介绍了类的定义与使用方法,只提及需要特别注意的重点,枝微末节的就不提了,可以参考官方文件或以其他编程语言为参照,基本上如果有其他编程语言的底子,Python的学习曲线还是相对较短的。此次作为示例的代码是一个C/S架构的简易Echo原创 2016-03-16 02:59:02 · 572 阅读 · 0 评论 -
botnet
Botnet是一群感染惡意軟體並受駭客控制的電腦,是許多網路安全威脅的主要來源(Sun et al, 2006)。駭客可控制多台電腦進行不同種類的攻擊,包括分散式阻斷服務攻擊(DDoS)、發送垃圾郵件及釣魚郵件、破解密碼、偷取敏感個人資料等。而且Botnet的技術更是日新月異,造成的損失也越來越大,再加上一般民眾使用電腦沒有警覺心,更助長Botnet的擴張,造成網管人員很大的困擾。 psa转载 2016-02-04 22:16:09 · 2000 阅读 · 0 评论 -
网络编程基础(1) : 网路模型简介+同步阻塞实例
1. 前言网络编程中最基本的架构是C/S架构,也就是由客户端/服务端结合而成的连线架构,而C/S架构又有多种不同的实现方案,对应不同情况下的需求衍生出多种不同效能的网路模型实现方式可供选择,一般可以分为以下四种:(1) 同步阻塞:由处理调用者等待结果返回,在结果返回前,当前线程被挂起不往下面运行。如:read。(2) 同步非阻塞:由处理调用者等待结果返回,无法立即得到结果时,处理调用会原创 2015-12-08 00:34:23 · 1207 阅读 · 0 评论 -
网络编程基础(4) : IO多路复用(多线程)
1. 简述本篇文章延续上一篇网络编程基础(3) : IO多路复用(单线程)之内容,做出了进一步的改善。IO复用网路模型中的角色Handler,将以状态模式(State Pattern)实现,并且将Handler接收完网络消息后的业务逻辑处理交由工作线程实现,所有的工作线程以线程池来维护。2. 網絡模型3. 代碼實現[TCPReac原创 2016-03-30 17:33:23 · 3908 阅读 · 7 评论 -
网络编程基础(3) : IO多路复用(单线程)
1. 简介IO多路复用属于同步IO网络模型是以Reactor模式实现常见的IO多路复用应用有:select、poll、epoll有关于select的应用方式,请参阅[C语言] 基于Linux的一对一Socket简易聊天程序实例本篇文章采用Java的NIO框架来实现单线程的IO多路复用2. Reactor模式的组成角色1. Reactor:负责派发IO原创 2016-03-30 13:13:31 · 2455 阅读 · 0 评论 -
网络编程基础(5) : IO多路复用(多Reactor)(主从式Reactor)
1. 介绍本篇文章将网络编程基础(4) : IO多路复用(多线程)中的单Reactor+多线程网络模型做了改进,把Reactor拆成两个角色Main Reactor及Sub Reactor,以提升效能与资源利用率。Main Reactor:负责监听外部的连线请求,并派发给Acceptor处理。故Main Reactor中的selector只有注册OP_ACCEPT事件,也只原创 2016-03-31 15:17:04 · 4364 阅读 · 5 评论