当我们想要在Java中使用TCP/IP通过网络连接到服务器时,就需要创建java.net.Socket对象并连接到服务器。假如希望使用Java NIO,也可以创建Java NIO中的SocketChannel对象。
创建Socket
下面的示例代码是连接到IP地址为78.64.84.171服务器上的80端口,这台服务器就是我们的Web服务器(www.VeVB.COm),而80端口就是Web服务端口。
Socket发送数据
要通过Socket发送数据,我们需要获取Socket的输出流(OutputStream),示例代码如下:
out.write("some data".getBytes());
out.flush();
out.close();
socket.close();
Socket读取数据
从Socket中读取数据,我们就需要获取Socket的输入流(InputStream),代码如下:
int data = in.read();
//... read more data...
in.close();
socket.close();
因此,从Socket的输入流中读取数据时我们必须要知道需要读取的字节数,这可以通过让服务器在数据中告知发送了多少字节来实现,也可以采用在数据末尾设置特殊字符标记的方式连实现。
关闭Socket
当使用完Socket后我们必须将Socket关闭,断开与服务器之间的连接。关闭Socket只需要调用Socket.close()方法即可,代码如下:
socket.close();
新闻热点
疑难解答