Socket最常用的构建方法:
public Socket(String host,int port);
host是连接所需服务器的名称或者ip地址,port是端口号
最常用的两个方法:
1.public OutputStream getOutputStream()
返回一个输出流,进行数据的传递;可以把返回的输出流进行再包装,传送数据更加方便
2.public InputStream getInputStream()
返回一个输入流,进行数据的读取;也可以把输入流进行包装,读取数据时更为快捷
获得Socket的信息:
1.public InetAddress getInetAddress()
获得服务器的IP
2.public int getport()
获得服务器的端口
3.public InetAddress getLocalAddress()
获得本地的地址
4.public int getLocalPort()
获得本地的端口
关闭socket的连接(很重要,如果一个连接结束之后,不再使用,一定记着关闭,否则服务器就会负载过重造成崩溃)
public void close()
关闭与服务器的连接
设置Socket的选项,一些常用的配置
1.public void setTcpNoDelay(boolean on)
默认为false,会先把数据缓存,到一定数量后一起发送
如果设为true,则会立即发送数据,常用作游戏设计中,服务器需要快速的得到客户端的响应
2.public void setReuseAddress(boolean on)
当接收方的close()方法关闭socket时,网络上还有没发送到这个socket的数据,那么底层的socket不会立即释放本地端口,会等待一段时间,确保收到了网络上收到的数据,然后再释放端口;当在这个时间段里,又重新使用这个端口,会发送异常,如果设置属性为true,则会立即关闭底层socket,但是设置这个属性时,不能在创建socket的时候指定host,port;
3.public void setSoTimeout(int timeout)
设置接受数据时的等待超时时间
4.public void setReceiveBufferSize(int size)
设置接收数据的缓冲区的大小
5.public void setSendBufferSize(int size)
设置发送数据缓冲区的大小