首页 > 编程语言 > 详细

java-Socket

时间:2017-09-05 22:41:00      阅读:214      评论:0      收藏:0      [点我收藏+]

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

原文:http://www.cnblogs.com/CaiNiao-TuFei/p/7482275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!