当前位置:  技术问答>java相关

服务器端套接字程序如何始终运行?

    来源: 互联网  发布时间:2015-04-15

    本文导语:  是简单的套接字通讯程序 服务器端程序运行后,客户端程序运行,两者建立通讯,没有问题。 但是关闭客户端程序后,服务器端也就自动关闭,如何使服务器端依旧运行呢??? 谢谢指点!! | ...

是简单的套接字通讯程序
服务器端程序运行后,客户端程序运行,两者建立通讯,没有问题。
但是关闭客户端程序后,服务器端也就自动关闭,如何使服务器端依旧运行呢???

谢谢指点!!

|
import java.net.*;
import java.io.*;

public class SimpleServer {
public static void main(String args[]) {
ServerSocket s = null;
Socket s1;
String sendString = "Hello Net World!";
OutputStream s1out;
DataOutputStream dos;

// Register your service on prot 5432
try {
s = new ServerSocket(5432);
} catch(IOException e) {}

// Run the listen/accept loop forever
while(true) {
try {
// Wait here and listen for a connection
s1 = s.accept();

// get a communication stream for socket
s1out = s1.getOutputStream();
dos = new DataOutputStream(s1out);

// send your string! (UTF provides machine-independent format)
dos.writeUTF(sendString);

//Close the connection, but not the server socket
s1out.close();
s1.close();
}
catch(IOException e) {}
}
}
}

|
注意退出应用程序时的线程处理!!!
while (true)//接受多个用户
{
  if(!mRMonitorServer.getRMonitorRunning())//服务端主动退出
  {
     exitListenSocket(-1);
     return false;
   }
   try
   {
      mServerSocket.setSoTimeout(100);//waiting 100 ns ,goto      
      mSocket = mServerSocket.accept();
      mServerSocket.setSoTimeout(0);

      ConnectionOne cConnectionOne = new ConnectionOne  (                   mRMonitorServer,this,mSocket
                     ,miIncrement );
                    cConnectionOne.start();
...
}

|
当一个客户端请求来的时候,socketServer创建一个socket,完成客户端和服务器的通信,当通信结束的时候,socket应该是被关闭的,socketServer依然监听来之客户端的请求。把代码贴出来看看把

|
加个while死循环就可以一直运行了

|
如果你的服务器的客户会并发请求的话,
在accept之后,最好用一个新的线程去
处理客户的请求。

|
同意楼上
将ServerSocket的accept()放在循环里
用一个新的线程去处理accept的socket

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问java编制的程序主要运行在服务器端还是客户端?听说它的速度比较慢,怎么可以运行在服务器端呢?谢谢!
  • jbuilder下写的javabean与jsp程序正常运行,如何转到weblogic或其他的服务器上运行???
  • linux系统的服务器上能运行类似IIS的服务吗?
  • 怎样在客户端(win2k svr)vc程序里使hp-ux服务器中的c程序运行,另外如何获得其运行结果?
  • 有人做过多台服务器运行状态监控的程序吗
  • 对于邮件服务器更换中,2台邮件服务器同时运行,有何策略?公司实例
  • 请问:网游服务器是在什么操作系统下运行啊,在有没有以windows的啊,
  • 请问怎样运行weblogic服务器?
  • 用linux做局域网服务器,结果上网很慢,怎样得知服务器网络方面的运行状态 --急急急在线等--
  • 我编了个servlet作代理服务器,请问怎么运行它呢?
  • 怎么培植APACHE服务器运行呢?
  • 通过FTP如果运行远程服务器上一个应用程序?
  • 帮我理理客户端运行的applet调用服务器数据库的问题?
  • 请问QQ的服务器运行的是哪种操作系统?
  • 刚学装liunx呀,如何从0使我的服务器运行呀,支持asp的吗?如何安装呀?
  • 怎样才能使程序在服务器上长期运行?
  • 我用shell登陆linux如何在服务器端运行程序
  • 在windows运行服务器程序,数据库放在linux下
  • 初次运行服务器APACHE,但用浏览器打开一个HTML后出现FOUND的大字!
  • shell 程序监控网站网页是否被修改,如果被修改停止服务器的运行?
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • docker中文入门学习手册 iis7站长之家
  • nginx 服务器介绍
  • 校园网,www服务器,邮件服务器,数据库服务器等各用什么平台(系统)性能最佳?
  • 代理服务器原理,功能及作用详细介绍
  • 双linux服务器如何能在一台服务器崩溃的情况下在另一台服务器上启动相应服务
  • Apache HTTP服务器2.4中的新功能概览
  • 如何有效判断服务器已经连接不上(服务器关闭,服务器非法退出等原因)
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • 在服务器端怎样检测客户端与服务器端的某个会话在一段时间里面没有通信,然后在服务器端终止该会话??
  • nginx服务器基本特性及使用技巧


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3