欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

Java中关于Socket的方法与作用详解

程序员文章站 2022-03-17 11:03:44
...
1.java.net.Socket;套接字、封装了TCP通讯协议,使用它可以基于TCP与远端计算机上的服务端应用程序链接并进行通讯。
实例化Socket就是与服务器端建立连接的过程。这里需要传入两个参数来指定服务端地址信息:
参数1:服务器端计算机地址
参数2:运行在服务器计算机上的服务端应用程序打开的服务端口
通过IP可以找到服务端计算机,在通过端口可以连接到运行在服务端极端及上的服务端应用程序。由于实例化就是连接过程,若服务端咩有响应,这里实例化Socket会抛出异常。
Socket提供方法:
OutputStream getOutputStream()

通过Socket获取的输入流写出的字节都会通过网络发送给远端计算机。这里就等于发送给服务端。
2. 运行在服务端的java.net.ServerSocket;
主要有两个作用:
1.向系统申请对外的服务端口,客户端Socket就是通过这个端口与服务器程序建立连接的。
2.监听该服务端口,一旦一个客户端Socket通过该端口尝试建立连接,serverSocket就会感知并实例化一个Socket与该客户端进行通讯。
ServerSocket提供方法:

Socket accept()

该方法时一个阻塞方法,用于监听服务端口,直到一个客户端连接上为止。这里会返回一个Socket,通过这个Socket就可以与客户端进行通讯了。
通过Socket获取输入流,读取的数据就是来自远端计算机发送过来的数据。这里相当于读取的时客户端发送过来的数据;

InputStream in = socket.getInputStream();

当使用缓冲流读取一行来自客户端发送过来的字符串过程中,br.readLine方法会一直阻塞直到客户端断开连接,那么客户端的系统不同这里的反应也不同。当Windows的客户端断开时,方法会抛出异常当Linux的客户端断开时方法会返回null

以上就是Java中关于Socket的方法与作用详解的详细内容,更多请关注其它相关文章!