我现在在做一个Socket通信方面的东西,代码如下:import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;public class Server {
public static boolean isAlive = true;
public static void main(String args[]){
ServerSocket server = null;
Socket s =null;
try{
server = new ServerSocket(4700);
while(isAlive){
s = server.accept();
new ServerThread(s).start();
}
s.close();
server.close();
}catch(IOException e){
e.printStackTrace();
}
}}问题:循环回一直执行,我要是想停止的话,需要强行关掉,不知道有没有人知道怎么关ServerSocket?
ServerThread是和Socket通信的线程。
import java.net.ServerSocket;
import java.net.Socket;public class Server {
public static boolean isAlive = true;
public static void main(String args[]){
ServerSocket server = null;
Socket s =null;
try{
server = new ServerSocket(4700);
while(isAlive){
s = server.accept();
new ServerThread(s).start();
}
s.close();
server.close();
}catch(IOException e){
e.printStackTrace();
}
}}问题:循环回一直执行,我要是想停止的话,需要强行关掉,不知道有没有人知道怎么关ServerSocket?
ServerThread是和Socket通信的线程。
解决方案 »
- 小弟有个正则表达式的问题,想问下高人
- 数据库备份
- 不执行js代码,简单求解
- [求助]急! 关于做网上支付系统 有电子商务开发的进来看看啊 >_<
- JSF ValueChangeListener+数据验证的问题
- 现在大家主要用哪个版本的STRUTS框架啊?
- 有关JAVA EE 5 安装和配置的问题. (急)
- struts2 下载中文文件名称乱码,可以下载
- 大家请帮我看看resin这个是什么错误?关于servlet方面的问题
- [SQLServer 2000 Driver for JDBC]Invald parameter binding(s)的问题,很急!!
- struts1.2 radio
- Spring dbcp连接无法释放问题
因为serversocket平时是出于阻塞状态,所有可以调用
thread.intterput()方法停止阻塞,并中断程序
而且你的isAlive是一个public static , 完全可以在另外一段程序里,通过Server.isAlive=false不就行了。
你写的是一个服务器程序,服务器程序程序一般不会关掉,最多就是重启,那你的问题就不存在了。