Java 网络教程: ServerSocket-Java-优质IT资源分享社区

yutingzhinan
论坛版主
论坛版主
  • UID9
  • 粉丝1
  • 关注0
  • 发帖数36
阅读:199回复:0

Java 网络教程: ServerSocket

楼主#
更多 发布于:2016-05-06 21:39
 


Java 网络教程: ServerSocket








用java.net.ServerSocket实现java服务通过TCP/IP监听客户端连接,你也可以用Java NIO
来代替java网络标准API,这时候需要用到 ServerSocketChannel。




创建一个 ServerSocket连接





以下是一个创建ServerSocket类来监听9000端口的一个简单的代码


ServerSocket serverSocket = new ServerSocket(9000);








监听请求的连接





要获取请求的连接需要用ServerSocket.accept()方法。该方法返回一个Socket类,该类具有普通java
Socket类的所有特性。代码如下:


ServerSocket serverSocket = new ServerSocket(9000); boolean isStopped =
false;while(!isStopped){ Socket clientSocket = serverSocket.accept(); //do
something with clientSocket}



对每个调用了accept()方法的类都只获得一个请求的连接。


另外,请求的连接也只能在线程运行的server中调用了accept()方法之后才能够接受请求。线程运行在server中其它所有的方法上的时候都不能接受客户端的连接请求。所以”接受”请求的线程通常都会把Socket的请求连接放入一个工作线程池中,然后再和客户端连接。更多关于多线程服务端设计的文档请参考
java多线程服务




关闭客户端Socket





客户端请求执行完毕,并且不会再有该客户端的其它请求发送过来的时候,就需要关闭Socket连接,这和关闭一个普通的客户端Socket连接一样。如下代码来执行关闭:


socket.close();




关闭服务端Sockets





要关闭服务的时候需要关掉 ServerSocket连接。通过执行如下代码:


serverSocket.close();








java锁的种类以及辨析(一):自旋锁
优质IT资源分享社区为你提供此文。
本站有大量优质Java教程视频,资料等资源,包含java基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

java教程视频
优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]


微信小程序开发

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客