socket通信
portlet
I really need it?
I can't live with it ...
展开
-
解决TIME_WAIT造成的服务器无法访问,Apache的KeepAlive和TCP/IP的TIME
[转载] http://hi.baidu.com/stickliu/blog/item/ecef88a30bfe8fa4cbefd009.html 前言:经常检查Apache的连接数,同样会发现很多无用的Time_Wait连接。有人说这是正常的,是因为一个请求中途中断造成的;还有人说微软的IE连接时产生的Time_wait会比用Firefox连接时多。个人认为有一定的Time_wait是正转载 2011-11-19 00:45:22 · 969 阅读 · 0 评论 -
python多进程网络服务器
最近看Nginx有些收获,于是想用python语言来实现一个简易的网络服务器模型:一个主进程和3个子进程,主进程只负责创建侦听的socket,并创建子进程然后等待子进程退出,而真正的工作全部交给子进程来做,包括接收新的连接请求以及发送。这里没有使用锁,而只是用了时间戳来简单模拟避免‘惊群’现象的发生。这里也省去了进程之间通信以及信号处理等工作。 具体代码如下: #encoding=原创 2012-04-15 13:10:42 · 3503 阅读 · 1 评论 -
一个简单的python socket编程
python 编写server的步骤: 第一步是创建socket对象。调用socket构造函数。如: socket = socket.socket( family, type ) family参数代表地址家族,可为AF_INET或AF_UNIX。AF_INET家族包括Internet地址,AF_UNIX家族用于同一台机器上的进程间通信。 type参数代表套接字类型,转载 2012-04-15 08:51:16 · 632 阅读 · 0 评论 -
nc 常用命令
nc(NetCat),在网络工具中有”瑞士军刀”的美誉,它短小精悍,功能强大,下面分享一些我平时经常用到的功能,更多的功能请google之。 1.基本参数 想要连接到某处: nc [-options] hostname port[s] [ports] … 绑定端口等待连接: nc -l -p port [-options] [hostname] [port] 参数: -g gatew转载 2012-01-14 10:30:48 · 10887 阅读 · 0 评论 -
epoll简介
名称 epoll - I/O 事件通知机制 概要 #include 描述 epoll是poll的升级版,支持边缘触发和水平触发的就绪通知方式,并且拥有良好的扩展性,可以监听大量文件描述符。一个epoll实例由下列系统调用创建和管理: * epoll实例由 epoll_create创建, 返回新建epoll实例的文件转载 2012-01-02 20:47:13 · 664 阅读 · 0 评论 -
epoll方法实现non-blocking socket
epoll方法实现non-blocking socket event-based方法和epoll epoll是event-based的方法实现异步io/non-blocking io。从Linux kernel 2.5.44之后epoll加入Linux kernel中,代替loop style方法的select和poll,比后者更加高效更适用于高并发多client的应用。loop转载 2012-01-02 20:50:24 · 1814 阅读 · 0 评论 -
epoll调用
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明: #define __转载 2012-01-02 20:49:11 · 541 阅读 · 0 评论 -
TCP连接中的分组交换图
【分组交换图】 【状态转换图】原创 2011-11-25 10:53:33 · 1417 阅读 · 0 评论 -
close_wait状态的产生原因及解决
最近需要上线的逻辑server由于需要与大量的后台server交互,今天突然发现有大量的close_wait产生,于是仔细研究了一下: 首先我们知道,如果我们的服务器程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的! 因为如果是CLIENT端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet: Client ---> FIN ---> Server Cli转载 2011-11-19 00:41:51 · 494 阅读 · 0 评论 -
How To Use Linux epoll with Python
Introduction As of version 2.6, Python includes an API for accessing the Linux epoll library. This article uses Python 3 examples to briefly demonstrate the API. Blocking Socket Programming转载 2012-04-15 09:03:04 · 762 阅读 · 0 评论