说明文档里面讲:
传入连接指示(对连接的请求)的最大队列长度被设置为 backlog
参数。如果队列满时收到连接指示,则拒绝该连接。
对传入连接指示有点不解,就做了个简单的测试:写个了服务器程序,创建一个ServerSocket实例,绑定到端口10000,backlog设置为2;
ServerSocket ss = new ServerSocket(10000, 2);
while (true) {
socket = ss.accept();
System.out.println("Accepted a request, it is from " + socket.getInetAddress()
+ " : " + socket.getPort() + "." );
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
String line;
do {
line = in.readLine();
System.out.println("The request say: " + line);
out.println("your input is :" + line);
} while (line!=null && !line.equals("bye"));
out.close();
in.close();
socket.close();
System.out.println("The connection is closed.\n");
}
没有使用多线程,所以服务器只能跟一个客户进行交互。
然后用telnet localhost 10000连接到这个服务器,请求成功连接上去,并且可以跟服务器交互。
接着另开一个命令窗口,运行telnet localhost 10000,没有反应,也没有报错。
开第三个命令窗口,同样去请求连接,也是没有反应,没有报错。
开第四个命令窗口,同样去请求连接,这次报告错误:“正在连接到localhost...不能打开到主机的连接, 在端口 10000: 连接失败”,哈哈,这应该就是文档里讲的“如果队列满时收到连接指示,则拒绝该连接。”
嗯,这下有点理解了,传入连接指示应该就是客户端已经请求连接,但服务器还没有接受;感觉有点像到饭馆吃饭,里面满了,只好在门口等,门口的位子有限,一旦坐满,后面来的客人只好拒绝了。
分享到:
相关推荐
Java网络编程的基础知识、套接字编程、非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBC API、JavaMail API、MVC设计模式、安全网络通信、CORBA和Web服务
本地端口监听实现通过JAVA的ServerSocket类,创建ServerSocket对象并绑定要监听的本地端口,然后通过accept()方法接受连接请求,在新线程中处理请求。具体代码如下: ServerSocket ss = new ServerSocket(6666); //监听...
Socket/ServerSocket构架的多个客户端在线聊天系统 1.多线程 2.对象传送 3.客户端管理 4.线程同步
本文系统讲解了java网络编程,serverSocket的使用方法及实例
ServerSocket的close()方法使服务器释放占用的端口,并且断开与所有客户的连接。当一个服务器程序运行结束时,即使没有执行ServerSocket的close()方法,操作系统也会释放这个服务器占用的端口。因此,服务器程序并不...
聊天室基于socket,serversocket,实现保存,查看聊天记录的功能
java socket nginx tcp转发 用户真实IP测试,文章请看我的博客
本章首先介绍 ServerSocket 类的各个构造方法,以及成员方法的用法,接着介绍服务器如何用多线程来处理与多个客户的通信任务。 本章提供线程池的一种实现方式。线程池包括一个工作队列和若干工作线程。服务器程序向...
BCB6中ServerSocket控件的使用 & XRF日本理学荧光SMX14仪器数据采集 1、ServerSocket控件
今天小编就为大家分享一篇关于Java网络通信中ServerSocket的设计优化方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
serversocket web服务器
描述如何在WEB服务器启动时加载一个Java ServerSocket服务,单机程序也可借鉴
Java 实例 - ServerSocket 和 Socket 通信实例源代码+详细指导教程.zip
ServerSocket服务端与客户端通信DEMO,讲述如何使用多线程的方式,使得多个客户端与服务端通信。
Java中的方法可以接受参数并返回值。 Java中的类是对象的模板,可以包含属性和方法。 Java中的包是一组相关的类的集合,可以组织和管理代码。 Java中的异常处理可以使用try-catch语句捕获和处理异常。 Java中的多...
一个java写的ftp 包括客户端服务器端 1、本项目是使用Java socket 编程来模拟Ftp,严格按照M-V-C架构分包分类,Ftp使用TCP端口21传输控制信息,使用TCP端口20来传输文件数据。 2、本项目默认使用TCP端口4321来传输...
本资源是java中socket与serverSocket连接的例子,包括客户端和服务器端的程序代码
socket和serversocket利用IO流编写的多线程连接相互发送消息
本文介绍一种用Java的Socket和ServerSocket实现服务器和客户机通讯的的方法。原理是在服务器端建立ServerSocket端口并监听,接收到客户端的连接请求时建立Socket,得到Socket的输入输出流。在客户端新建Socket并获得...
下面小编就为大家带来一篇JAVA-NIO之Socket/ServerSocket Channel(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧