socket

三月 29, 2016

Android SDK DDMS通过Wifi接收Android日志

将Android手机与PC通过USB连接,我们就可以在Android Device Monitor中看到Android手机的实时日志,这个对程序的调试非常有帮助。但是一般来讲手机只有一个usb口,如果usb被别的设备占用,我们就没法获取日志了。 实际上,Android[...]
Read More »

五月 9, 2014

svn、bugzilla等穿过防火墙访问:如何在 Windows 防火墙中打开端口

如果 Windows 防火墙阻止某一程序,而您希望允许该程序通过防火墙进行通信,通常可以通过在 Windows 防火墙允许的程序列表(也称为“例外列表”)中选中该程序来实现。若要了解如何进行此操作,请参阅允许程序通过[...]
Read More »

十一月 9, 2011

服务器开发惯例和对现有开源项目的一些看法

上一篇转发的文章,作者提到了他的另一篇关于连接服务器的文章, 塞外浪子做了评价,我觉得还是比较中肯:   先保证通讯模块的稳定性和性能,然后再往下构架。。。毕竟是一劳永逸的事情。 关于服务器开发,必须要做到网络与逻辑分开。逻辑处理线程池可以根据各自需求整合到网络引擎中,或者整合到逻辑中。 我一般写服务器都是跨平台的,window下面用iocp,linux下用epoll,或者poll+多线程。   [...]
Read More »

十一月 9, 2011

ZeroMQ 的模式

在需要并行化处理数据的时候,采用消息队列通讯的方式来协作,比采用共享状态的方式要好的多。Erlang ,Go 都使用这一手段来让并行任务之间协同工作。 最近读完了[...]
Read More »

七月 14, 2011

Epoll介绍和程序实例

1. Epoll 是何方神圣? Epoll 可是当前在 Linux 下开发大规模并发网络程序的热门人选, Epoll在 Linux2.6内核中正式引入,和[...]
Read More »

三月 18, 2011

libevent ,一个强大的通讯框架库

libevent是个Linux下的开源项目,最初发起原因是,解决socket通讯中数万级别的大量连接请求的处理,实现高效高并发服务而设计。他是个面向消息的框架,使用者不用面对socket的底层函数,利用libevent的消息驱动框架,就能使其开发的服务轻松实现高效高连接高并发能力。 The[...]
Read More »

三月 9, 2011

Linux下如何清空socket的接收缓冲区的数据

最近碰到一个问题,对于阻塞模式的socket通讯,如果要实现设备的命令控制,那么进入命令流前,缓冲区不能存有上次通讯没有取回的信息,否则一旦命令发出,然后读取缓冲区,很显然会读到上一次的剩余数据。做法当然很简单,就是先清除接收区的缓冲数据,可是如何清除? 网上有很多这样的问题,但都没什么规范的解决办法,有的甚至为了达到清空的目的,建议先close一下socket,这个太大手笔了,为了解决一个小问题而大动干戈,根本不是个合理的解决办法。 还有就是用recv读取,但是由于不知道缓存里有多少数据,如果是阻塞模式,到最后必然等到超时才知道数据已经读取完毕,这是个问题。 另一个是用fgetc,通过返回判断是否是feof: [code[...]
Read More »

九月 19, 2010

提高linux的连接限制

一般linux下TCP连接的限制在TD_SETSIZE,系统默认为1024,由FD_SETSIZE决定。 1.修改方法:  修改/usr/etc/security/limits.conf文件,加入  * soft[...]
Read More »

九月 19, 2010

Linux下突破限制实现高并发量服务器

本文转自:http://hi.baidu.com/fdwm_lx/blog/item/0c3cdb383f132acfd5622507.html 2010-07-02 17:41   1、修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的[...]
Read More »

Proudly powered by WordPress and Sweet Tech Theme