易截截图软件、单文件、免安装、纯绿色、仅160KB

Java网络编程学习笔记之Socket(一)

    在客户/服务器通信模式中,客户端主动创建与服务器连接的Socket,服务器收到客户端的连接请求,也创建了与客户端连接的Socket。
    客户端主动创建Socket时候,需要做下面一些事情:
    1. 构造Socket.
    2. 设定等待建立连接的超时时间
    3. 设定服务器的地址
    4. 设定客户端的地址
    5. 处理客户端连接服务器可能抛出的异常
    Socket的信息有远程服务器的IP地址、端口号,客户本地的IP地址、端口号,输入流和输出流。
    如何判断客户端进程发送数据完成,Socket关闭的处理方法:
    1.约定一个结束的字符串,比如“exit”等。
    2.客户端进程先发送一个消息,包含正文的长度,服务器进程读到这个长度后,就认为结束。
    3.客户端进程发完所有数据,关闭。如读到-1
    另外Socket有半关闭的说法,就是关闭输出流或输入流之一。比如进程A关闭了输入流,则不允许输出数据,但仍可以读入数据。但这仍需要调用close方法,这样才能释放Socket占用的资源。
    Socket有很多的选项
TCP_NODELAY:表示立即发送数据
SO_RESUSEADDR:表示十分允许重用Socket所绑定的本地地址
SO_TIMEOUT:表示接受数据时的等待超时时间
SO_LINGER:表示当执行Socket的close()方法时,是否立即关闭底层的Socket
SO_SNFBUF:发送数据的缓冲区大小
SO_RCVBUF:接收数据的缓冲区大小
SO_KEEPALIVE:对于长时间处于空闲状态的Socket,是否自动把它关闭
OOBINLINE:表示是否支持发送一个字节的TCP紧急数据
    接下来对上面选项一一解释.
   


相关文档:

java优秀的程序员必读

 1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
    2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、 java、javac、javadoc、javap、javaw、native2ascii ......

深入了解Java ClassLoader、Bytecode 、ASM、cglib

一、Java ClassLoader
1,什么是ClassLoader
与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类。
此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader 是 JVM 中将类装入内存的那部分。
而且,Java ClassLoader ......

Java程序,一个实现Enumeration的组合类

import java.util.Enumeration;
public class CipherTest implements Enumeration {
private int N;
private int c[], k;
private Object[] objs;
public CipherTest(Object[] items) {
N = items.length;
c = new int[N + 1];
for (int i = 0; i <= N; i++)
c[i] = i;
objs = items;
k = 1 ......

Java文件中为什么会有serialVersionUID


一些java类中为什么需要重载 serialVersionUID 属性。
在Java中,软件的兼
容性是一个大问题,尤其在使用到对象串行性的时候,那么在某一个对象已经被串行化了,可是这个对象又被修改后重新部署了,那么在这种情况下,
用老软件来读取新文件格式虽然不是什么难事,但是有可能丢失一些信息。
serialVersionUID
来解 ......

学了java几个月后

我很喜欢学习java,那是在我正式上了这个课后就喜欢上了,我觉得我学的只是一般,但是我想把我的一些个人经验写下来,呵呵。。。。。
java是面向对象的编程语言,我以前只是初步学习过c,学习java时一些基本的语法只是看了看,因为和c是差不多的,但是后来不断地学习发现。学习java要好好熟悉各种各样的类,只要将各种类熟 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号