
网络编程
文章平均质量分 79
lemonxuexue
这个作者很懒,什么都没留下…
展开
-
Base64编码、解码的实现
什么是Base64?按照RFC2045的定义, Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be转载 2009-08-10 11:28:00 · 904 阅读 · 0 评论 -
epoll模型两种工作模式的思考
epoll模型有两种工作模式,ET和LT,两种模式下都有一些细节值得注意,以下是一些思考: 一、ET模式下Q1: 调用accept时,到底TCP完成队列里有多少个已经建立好的连接?这里又得分情况来说:没有连接。这种情况发生在TCP连接被客户端夭折,即在服务端调用accept之前客户端给出一个RST。该RST导致刚刚建立好的连接从服务器端的TCP完成队列中被移出。源自berkeley的实现会在内核处理该事件,并不会将该事件通知给服务程序,如果套接口被设置为阻塞模式,就会导致accept函数被阻塞,程序挂起,一转载 2010-06-05 10:29:00 · 1722 阅读 · 0 评论 -
Epoll vs. IOCP
1 Epoll vs. IOCP Epoll 和 IOCP 都是为高性能网络服务器而设计的高效 I/O 模型;都是基于事件驱动的。事件驱动有个著名的好莱坞原则(“不要打电话给我们,我们会打电话给你”)。 不同之处在于: 1. Epoll 用于 Linux 系统;而 IOCP 则是用于 Windows ;(啊,好大的鸡蛋 … ) 2. Epoll 是当事件资源满足时发转载 2010-02-23 00:20:00 · 839 阅读 · 1 评论 -
Linux core文件设置
在一个程序崩溃时,默认情况下是不产生core文件。下面的命令可以检查生成core文件的选项是否打开:$ulimit -a该命令将显示所有的用户定制,其中选项-a代表“all”。$ulimit -c unlimited来让特定的用户可以产生core文件core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。如果您根本就不想去调试它,只需要简单地用以下命令将它删除即可:原创 2009-09-24 15:47:00 · 710 阅读 · 0 评论 -
Echo server
Echo server就是那种提供回显服务的程序,就是收到什么,然后就发送什么的程序。 事件模型socket里面是有select机制,ACE也提供了这种方式。概念:Event_Handler:有事件来临的时候的处理器Reactor:事件管理,负责管理Event_Hanlde和分发事件Acceptor负责连接Event_Handle,Reactor和Sock_Acceptor代码:#if原创 2009-09-18 14:31:00 · 1516 阅读 · 0 评论 -
基于ACE应用编程框架——线程池
一、基本的实现模型: 线程池的实现模型主要有两种: 1、半同步/半异步模型 在这种模型中,一个侦听线程负责接受请求,并在某个队列中缓冲它们。另外一组工作者线程负责处理请求。因此接受请求的线程并不是处理请求的线程。 2、领导者/跟随者模型 在这种模型中,有一个线程是领导者,其余线程是线程中的跟随者。当请求到达时,领导者首先获取请求,并在跟随者中选取一个作为新的领导者,然转载 2009-09-18 11:26:00 · 754 阅读 · 0 评论 -
liburl简介
libcur官方主页:http://curl.haxx.se/libcurl/libcurl为一个免费开源的客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持Windows,Unix,Linux等,线程安全,支持Ipv6。libcurl编程流程:首先,调用函数curl_global_init()来初始原创 2009-09-28 20:47:00 · 1630 阅读 · 0 评论 -
最原始的多线程简介
本人原先看到的多线程编程都是封装以后的,雏形却从来没了解过。今天受到高人指点,真是醍醐灌顶啊,首先要对高人的无私奉献表示极度的敬仰,接着记录一下战果,供我养的肥鸡鉴定: int threadFunc(){ ..... ..... return 0;}typedef FunctionPtrType threadFunc*;std::list g_tasks; //函数指针类型的链表 in原创 2009-09-15 20:19:00 · 576 阅读 · 0 评论 -
TCP和Http的区别
相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一原创 2009-08-26 10:57:00 · 12189 阅读 · 0 评论 -
Linux 套接字编程中的 5 个隐患
Socket API 是网络应用程序开发中实际应用的标准 API。尽管该 API 简单,但是开发新手可能会经历一些常见的问题。本文识别一些最常见的隐患并向您显示如何避免它们。 在 4.2 BSD UNIX? 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语言。该 API 相当简单,但新的开发人员仍然会遇到一些常见的隐患。 本文识别那些隐患并向您显示如何避开它们。隐患 1.忽略返回状态 第一个隐患很明显,但它是开发新原创 2011-01-12 09:40:00 · 511 阅读 · 0 评论