博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 网络教程: ServerSocket
阅读量:6577 次
发布时间:2019-06-24

本文共 867 字,大约阅读时间需要 2 分钟。

 作者: 译者:homesick

用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();

  

转载地址:http://jlwno.baihongyu.com/

你可能感兴趣的文章
IntelliJ Idea 常用快捷键
查看>>
由1 2 3 4可以组成多个十百 无重复的数字
查看>>
android device action and adb command
查看>>
Makefile系列之五 :函数
查看>>
如何去掉私钥的密码
查看>>
jquery网页日历显示控件calendar3.1使用详解
查看>>
查看登陆系统用户的信息的三种方法详解
查看>>
apache调优隐藏版本信息及404重定向
查看>>
[Git] 关于refs/for/ 和refs/heads/
查看>>
LA 2572 Viva Confetti (Geometry.Circle)
查看>>
[NOI2015]程序自动分析
查看>>
innerHTML、innerText和outerHTML、outerText的区别
查看>>
__name__的意义与作用
查看>>
eclipse快捷键
查看>>
Java 异常
查看>>
Mysql 时间类型整理
查看>>
IOS调试—断点调试以及动态输出
查看>>
编译找错
查看>>
CSS边距---盒子模型
查看>>
Linux vi命令
查看>>