首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >近听ServerSocket

近听ServerSocket
EN

Stack Overflow用户
提问于 2011-05-24 23:31:25
回答 2查看 10.3K关注 0票数 3

在我的服务器应用程序中,我试图处理使用ServerSocket的服务器,例如,

  1. 启动服务器并等待连接。
  2. 停止与客户端连接的服务器。
  3. 停止正在等待客户端的服务器。

我可以启动服务器,并让它在线程中等待客户端。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
socket = serverSocket.accept();

我想要做的是手动关闭等待连接的套接字,我尝试使用,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (thread != null) {
     thread.stop();
     thread = null;
  }
  if (socket != null) {
     try {
        socket.close();
        socket = null;
     }
     catch (IOException e) {
        e.printStackTrace();
     }
  }

执行上述代码后,即使套接字变为空,当我尝试从客户端连接到服务器时,连接就建立了,所以我的问题是如何中断在这里侦听连接的服务器,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
socket = serverSocket.accept();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-24 23:58:13

只需关闭ServerSocket,并捕获结果SocketClosedException即可。

并摆脱thread.stop()。为什么,见Javadoc

票数 2
EN

Stack Overflow用户

发布于 2011-05-24 23:37:45

我认为处理这一问题的一种常见方法是在循环中使accept()调用超时。

所以,就像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ServerSocket server = new ServerSocket();
server.setSoTimeout(1000); // 1 second, could change to whatever you like

while (running) { // running would be a member variable
     try {
         server.accept(); // handle the connection here
     }
     catch (SocketTimeoutException e) {
          // You don't really need to handle this
     }
}

然后,当您想关闭服务器时,只需将代码设置为“运行”为false,它就会关闭。

我希望这是合理的!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6120986

复制
相关文章
ServerSocket与Socket类
TCP最主要的特征就是能够建立长时间的连接,而且能够保证数据安全的送达,但是速度比较慢。使用TCP进行连接的时候会有三次握手,之后才建立起服务器与客户端的连接,因为TCP的链接习惯是询问对方机器是否存在,不存在就不会建立连接,存在才会建立连接。
端碗吹水
2020/09/23
7870
ServerSocket与Socket类
java.net.ServerSocket 解析
构造 public ServerSocket() 构造一个ServerSocket,但不绑定任何端口,所以也不能接受任何的请求连接。以后可以通过bing()方法来进行绑定。 public ServerSocket(int port) 通过一个端口来构造一个ServerSocket对象。 默认的tcp队列大小为50. 默认监听本地所有的ip地址(如果有多个网卡)。 TCP分为全连接队列和半连接队列。这里说的是全连接队列 半连接队列:第一次握手,服务器收到客户端的请求时,该请求连接放到半连接队列中。
java404
2018/05/18
8150
java Socket与ServerSocket 详解
我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。
Java编程指南
2019/08/02
1.6K0
java Socket与ServerSocket 详解
网络开发Socket和ServerSocket
Socket为“孔”或“插座”,创建Socket,打开连接Socket的输入或输出流,对Socket进行读写,关闭Socket。
达达前端
2022/04/29
2440
JDK8中文文档——ServerSocket
类名 ServerSocket 所属包 java.net.ServerSocket 所有被实现的接口 Cloneable,AutoCloeable 直接父类 SSLServerSocket 类声明 public class ServerSocket extends Object implements Cloneable 类概述 这个类是用来实现服务端Socket的。 一个ServerSocket将会等待来自于网络的请求,当它收到请求后将会针对这些请求做出一些处理,然后给请求者返回处理的结果。 服务端Soc
大闲人柴毛毛
2018/03/09
2.6K0
NIO系列(四)——socket通道和serversocket通道
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
逝兮诚
2019/10/30
9070
socket02-ServerSocket 服务端
ServerSocket 是运行的服务端的ServerSocket。socket方式是点对点的属于TCP。 建立服务端频骤: 建立端口并指定服务器IP 使用 accpet 方法接收连接,阻塞式方法 使用流通信 代码实现: 建立服务器,建立通道对象 接收数据 发送数据 阻塞式的意思是,如果没有连接,就会一直等待。所以在while里面是一直处于等待状态。 public static void main(String[] args) throws IOException { //1.创建服务器套接
潇洒
2019/06/28
5110
【Java 网络编程】TCP API 简介 ( Socket | ServerSocket )
2. Socket 构造方法 : 调用 Socket() , 创建 Socket 套接字对象 ; 创建之后 , 设置都是默认值 , 可以调用各种设置方法设置 Socket 对象的参数 ;
韩曙亮
2023/03/27
4040
轻听变色之谜
轻听是一款小而美的Android本地音乐播放器,而它的特点之一就是拥有多彩的外衣,如下: 其中,左边6张是白天模式下的几种不同主题色的样式,右边是夜间模式。 那么轻听是如何实现变色的呢? 主要是结
QQ音乐技术团队
2017/10/30
1.8K0
轻听变色之谜
初学者第73节网络编程-ServerSocket(二)
前面已经讲过线程池和ServerSocket的编程了,这一节讲讲怎么在ServerSocket中结合线程池使用。
用户5224393
2019/08/20
2850
把工作讲给家人听
最近看了一本书《奈飞文化手册》,里面有一个故事,让我很受触动。作者把自己一个工作的规划分享给了他的母亲。结果他母亲听完之后,想了一会儿说:听起来糟糕透了。然后作者开始反思自己的表达方式,还有就是在将自己的工作目标传递给下属的过程中所用到的一些技巧和反馈。
FunTester
2021/09/14
2020
嘘,听:数据在说谎
数据时代,我们开始摆脱感性的束缚,在数据中寻求科学的理性的决策依据,主张没有数据就没有发言权,没有数据的论断,就是扯淡;
herain
2022/04/27
3930
嘘,听:数据在说谎
初学者第72节网络编程-ServerSocket(一)
上一节讲解socket的基本使用,这一节来顺带着讲讲socket的一个自认为重要的设置选项的方法,哈哈,多多少少会在今后的开发中使用到。还是比较好用的。
用户5224393
2019/08/20
6430
近线存储
http://tech.sina.com.cn/other/2003-12-29/1323275543.shtml
数据和云01
2018/09/05
1.8K0
随便听,任意听!酷狗音乐破解版vip安卓
哈喽各位小伙伴,大家好!我是橙c一个爱喝橙汁的橙c。今天一早啃着馒头去上班有点落魄把我冷的瑟瑟发抖。
IT小侠公社
2019/06/12
3.7K0
随便听,任意听!酷狗音乐破解版vip安卓
java编程_socket_套接字_网络编程
============================================================ 
Hongten
2018/09/13
1.2K0
听,是版本在说话
不知道大家都是怎么定义软件的版本号的?是老老实实的从1.0版本开始,还是像埃里森那样直接从2.0开始,还是从beta版本0.x开始呢?
程序那些事
2021/11/29
2760
听,是版本在说话
听Kingsum分享有感
今天kingsum特地来公司为我们做了个分享,分享了他的求学、工作和人生经历,感受颇多,记录在此供自己后面学习。
阿杜
2018/08/06
4720
听Kingsum分享有感
麻将游戏的听牌算法
测试测试!!~~~~这两周都是在测试各种BUG,没事情的时候自己在网上学学新知识,也为下个月的游戏改版预热。最近呢我也开始了我的shader之旅,估计也是这充满神秘和艰辛的旅途吧,哈哈哈! 今天写的这篇文章是为下次项目添加的一个功能,也就是麻将的听牌功能。不打麻将的童靴一定不知道什么叫听牌,可是我打麻将最初也不知道什么是听牌,霍霍,好丢人啊,估计是以前有东南西北中发白的时候这种功能多一些,现在都是血战麻将了。我自己说不清就请度娘吧,听牌:麻将游戏术语,牌局之中,到达了「只要再凑一张即可成功胡牌
李海彬
2018/03/23
2.7K0
org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.
1、启动hive的过程中,[hadoop@slaver1 soft]$ hive --service metastore & 错误如下所示: 原因:之前启动hive失败了,但是进程以及启动起来,使用jps命令查看,然后使用kill -9 进程号,杀死重启即可。 [hadoop@slaver1 soft]$ org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.
别先生
2018/04/16
2.3K0
org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.

相似问题

ServerSocket和ServerSocket问题

15

ServerSocket与ServerSocket通信死锁

10

Java Serversocket

14

不需要ServerSocket侦听的ServerSocket连接

14

ServerSocket连接问题

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文