7.4 Socket连接简介
7.4.1 Socket连接简介
使用Socket是连接两台计算机最简单的方法,另外由于Socket使用的是TCP协议,所以也就保证了传输的质量。但在这里要注意的是,并不是所有的MIDP设备都支持Socket网络。
在这部分中我们主要涉及到的两个接口是SocketConnection和ServerSocketConnection。这个两个接口的使用方法其实和J2SE中的Socket和ServerSocket类的使用方法很相似。不同的是ServerSocketConnection中打开一个SocketConnection作为监听者的方法是acceptAndOpen()。同时你可以用getLocalAddress()和getLocalPort()两个方法获得本地的绑定IP地址和所打开的端口号,这样你就可以告诉另外一台MIDP设备你所使用的IP和端口,使得另一台MIDP设备可以连接到你的设备上。
在这里我们除了强调使用acceptAndOpen()从一个ServerSocketConnection对象中打开一个SocketConnection作为监听者外,还要说明的是作为套接字我们是可以设置一些属性的,这些属性的设置是通过SocketConnection.setSocketOption()方法来设置。一些属性:
1) 选项 | 2) 描述 |
3) DELAY | 4) 小缓冲写如延迟值。如果为0,则禁用了TCP对于小缓冲区操作的Nagle算法。如果需要启动该算法则需要把该值设置为非0 |
5) KEEPLIVE | 6) 保持连接的特性。如果该值为0,则禁用了保持连接的特性。如果要启动该特性则要把该值设置为非0 |
7) LINGER | 8) 关闭一个连接前等待未发送的数据发送完毕所经过的秒数。如果该值为0,则禁用了该属性 |
9) RCVBUF | 10) 接受缓冲区的大小,单位字节 |
11) SNDBUF | 12) 发送缓冲区的大小,单位字节 |