NetWork Programing Learning
WA说
喜欢折腾,对微服务实践有自己深入的了解。
涉猎语言Java,Python
涉猎框架Spring Cloud/Dubbo/Spring Framework
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux环境安装ACE 6.1.0
下载 下载地址:http://download.dre.vanderbilt.edu/ 下载ACE-6.1.0.tar.bz2,这个软件包只包含ACE,不包含TAO等附加的东西,另外bz2压缩格式的源码包比较小,只有7.55M。 解压 mkdir ace-install tar jxf ACE-6.1.0.tar.bz2 -C ace-install 配置转载 2013-08-21 23:35:14 · 1090 阅读 · 0 评论 -
网络编程--套接字选项
基本套接字选项 1. SO_BROADCAST 开启或禁止进程发送广播消息的能力。 2. SO_DEBUG 开启该选项后,内核将为TCP在该套接字发送和接收的所有分组保留详细跟踪信息。这些信息保存在内核的某个环型 缓冲区中 3. SO_KEEPALIVE 如果两小时内在该套接字的任一方向上都没有数据交换,TCP就自动给对端发送一个保持存活探测分节,它导致以原创 2013-08-25 09:05:25 · 1529 阅读 · 0 评论 -
UNIX 网络编程之线程
概述: 实现并发服务器一般都是父进程accept一个连接,然后fork一个子进程,该子进程处理与该连接对端的客户之间的通信。但是fork是昂贵,耗资源和时间。而线程是轻量级线程,它的创建比进程的创建块10-100倍。在同一进程内除了共享全局变量外还共享: 大多数数据;进程指令; 打开的文件; 信号处理函数信号处置; 当前工作目录;用户ID和组ID 不过每个线程有各自的资源:‘ 线原创 2013-08-25 19:58:46 · 1158 阅读 · 0 评论 -
UNIX网络编程--TIME_WAIT
先看以下TIME_WAIT状态是怎么产生的,最好的解释就是看TCP状态转换图咯 对与每个状态的解释如下 1、建立连接协议(三次握手) (1)客户端发送一个TCP segment(Seq 由主机产生,假设为x, SYN=1)到服务器。这是三次握手过程中的segment 1。 (2) 服务器端回应客户端的,这是三次握手中的第2次握手,此时发送2个segment,第一个seg原创 2013-08-26 19:48:56 · 1459 阅读 · 0 评论 -
UNIX网络编程--套接字可读或可写的条件
socket可读的条件 1. socket的接收缓冲区中的数据字节大于等于该socket的接收缓冲区低水位标记的当前大小。对这样的socket的读操作将不阻塞并返回一个大于0的值(也就是返回准备好读入的数据)。我们可以用SO_RCVLOWATsocket选项来设置该socket的低水位标记。对于TCP和UDPsocket而言,其缺省值为1 2. 该连接的读这一半关闭(也就是接收了FIN的T原创 2013-08-27 20:43:12 · 2185 阅读 · 0 评论 -
UNIX网络编程--实现并发UDP服务器
大多数UDP服务器程序是迭代运行的,即服务器等待一个客户请求,读入这个请求,处理这个请求,送回其应答,接着等待下一个客户请求。然而当客户请求的处理需消耗用过长时间时,我们就得设计一个并发的UDP服务器。以下为实现的方法: 1. 该方法比较简单,读入一个客户请求并发送一个应答后,与这个客户就不再相关了。这种情形下,读入客户请求的服务器可以fork一个子进程并让子进程去处理该请求。该“请求”(原创 2013-08-27 21:06:11 · 1466 阅读 · 0 评论 -
UNIX网络编程--设置I/O超时
1. 调用alarm,它在指定超时期满时产生SIGALRM信号。这个方法涉及信号处理,而信号处理在不同的实现上存在差异,而且可能干扰进程中现有的alarm调用 2. 在select中阻塞等待I/O(select有内置的时间限制),以此代替直接阻塞在read或write调用上 3. 使用较新的SO_RCVTIMEO和SO_SNDTIMEO套节口选项。原创 2013-08-28 15:29:31 · 1263 阅读 · 0 评论
分享