1.序列化的目的、作用: 为了保存对象的各种状态到内存中(实例变量不是方法),并且可以把保存的对象状态再读取出来。Java提供一种保存对象状态的机制,就是序列化。2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候; b)当你想用套接字在网络上传送对象的时候;.....
分类:
其他好文 时间:
2014-08-01 10:44:01
阅读次数:
150
socket套接字TCP API
socket概念
socket又称“套接字”,是计算机网络中进程间通信数据通道的一个端点,或称之为句柄。IP地址+端口号就可以唯一确定一个socket。TCP/IP协议族包括传输层(TCP/UDP),网络层(ICMP/IP/IGMP),链路层(ARP/RARP)。应用层通常使用socket地址,即IP地址+端口号来确定通信的对端。而socket正是TCP/...
一、 异步IO 说到重叠模型首先还是提一下异步IO比较好,因为从本质上讲,重叠模型也是一种异步IO模型。 我们知道,相对于计算机执行的其他操作而言,设备IO(文件、管道、套接字等)是比较慢的。于是在多线程结构中就考虑到采用异步的方式进行设备读写操作,即我们告诉系统对设备的读写数据,而同时应用程序的其...
分类:
其他好文 时间:
2014-07-31 19:38:17
阅读次数:
312
1.迭代服务器模型 1.1 迭代服务器是处理多个请求时一种最简单直接的思路,即使用while循环,它不具有并发能力,即必须一个一个的处理客户的请求。 1.2 程序示例。#include "def.h"int listenfd_init(); //返回一个处于监听状态的套接字描述符void do...
分类:
编程语言 时间:
2014-07-31 02:18:25
阅读次数:
365
recv函数int recv( SOCKET s, char FAR *buf, int len, int flags );不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符;第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到...
分类:
其他好文 时间:
2014-07-29 21:00:43
阅读次数:
237
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: I...
分类:
其他好文 时间:
2014-07-29 17:25:42
阅读次数:
199
原文地址:http://www.cnblogs.com/harrisonpc/archive/2011/03/31/2001565.htmlSocket通常也称做”套接字“,用于描述IP地址和端口,废话不多说,它就是网络通信过程中端点的抽象表示。值得一提的是,Java在包java.net中提供了两个...
分类:
移动开发 时间:
2014-07-29 10:37:56
阅读次数:
313
java中DatagramPacket表示存放数据的数据报,DatagramSocket表示接受或发送数据报的套接字。这两个类所有构成的网络链接是基于UDP协议的。import java.net.DatagramPacket;import java.net.DatagramSocket;import...
分类:
编程语言 时间:
2014-07-28 21:19:54
阅读次数:
377
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *time...
分类:
其他好文 时间:
2014-07-28 15:00:53
阅读次数:
241
背景:
我们在开发linux在线服务器的时候经常会遇会句柄泄露的问题。因为在linux系统设计里面遵循一切都是文件的原则,即磁盘文件、目录、网络套接字、磁盘、管道等,所有这些都是文件,在我们进行打开的时候会返回一个fd,即是文件句柄。如果频繁的打开文件,或者打开网络套接字而忘记释放就会有句柄泄露的现象。在linux系统中对进程可以调用的文件句柄数进行了限制,在默认情况下每个进程可以调用的最大句柄...
分类:
系统相关 时间:
2014-07-28 00:13:09
阅读次数:
501