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

服务器线程问题

    来源: 互联网  发布时间:2015-10-08

    本文导语:  我要做的是在服务器端监听用户端发送来的消息,然后在进行处理,处理完了在发给客户端,不需要什么显示,只需要一个线程监听就行了。   请问怎么样在服务器启动时就把这个线程调入,是不是只写一个继承与T...

我要做的是在服务器端监听用户端发送来的消息,然后在进行处理,处理完了在发给客户端,不需要什么显示,只需要一个线程监听就行了。
  请问怎么样在服务器启动时就把这个线程调入,是不是只写一个继承与Thread的类就行了?

|
public class server extends Thread {
    public void run(){
        
     try{
            ServerSocket SvrSocket = new ServerSocket(PORT);
            System.out.println(">> 通信服务器启动成功......n");

            
            while(iAmKeepingRunning) {
                Socket mySocket = SvrSocket.accept();
                DebugWriter.println("通信服务器收到新的请求:" +
                    mySocket.getInetAddress().getHostAddress() + "@" + mySocket.getPort());

                //debug标志
                if(rflag != null && rflag.equals("true"))
                    myReceiver = new Receiver(mySocket, true, getMaxClientId());
                else
                    myReceiver = new Receiver(mySocket, false, getMaxClientId());

                myReceiver.start();

                            }
        }catch(IOException e) {
            CommunicationLog.log(e.getMessage());
            e.printStackTrace();
            System.out.println(">> 通信服务器初始化失败......n");
            System.exit(0);
        }catch(Exception e) {
            CommunicationLog.log(e.getMessage());
            e.printStackTrace();
        }
    }

}

Receiver 类是单独处理每一个客户连接的类。

|
呵,我来废话一句:那个 debug 是用来 debug Receiver 用的。等同于下面的代码。

myReceiver = new Receiver(mySocket, rflag != null && rflag.equals("true"), getMaxClientId());
myReceiver.start();

也就是说,用 True 或 False 来初始化的 Receiver 也就意味着,“Debug状态的Receiver”和“非Debug状态的Receiver”。

意思解释清楚了吗?

个人认为,这个用来 Debug 的方式并不好。因为在它的代码中包含了对系统的正常运行毫无意义的 Debug 逻辑。在 Debug 方面是有更好解决方案的。自己想想吧。 :)

|
继承Thread或者实现Runnable

    
 
 

您可能感兴趣的文章:

  • Linux下服务器端的线程分配
  • 基于LINUX 线程的并发通讯服务器
  • linux并发服务器中epoll+多线程分别怎么理解?
  • 多余SOCKET服务器来说,用哪种线程安全锁性能最高?
  • 如何使用http下载文件,得到服务器的类型(IIS、apache)最好是多线程的,谢谢
  • 趋势的一道面试题:网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
  • 如何调试多线程的代码? 多何调试网络代码 服务器的和客户端的
  • 多线程页面抓取服务器
  • java多线程,linux操作系统,双cpu服务器,问问稍微高级点的问题
  • haskell实现多线程服务器实例代码
  • c语言多线程实现并行服务器遇到点小问题,求解!
  • 多线程并发服务器设计
  • 请问:在socket编程的服务器端,想采用多线程来处理客户端的命令,应该怎样写啊?
  • epoll+多线程实现服务器问题
  • 为什么我的服务器实现不了多线程?
  • 菜鸟求助多线程并发服务器
  • 多线程socket服务器端的问题!急!
  • 我写了一个linux下的socket(服务器客户端)+多线程的小程序,可是服务端总是收不到东西,哪个高人帮我看看
  • 建立多线程的服务器···
  • 一个libevent多线程的服务器引发的问题·····
  • c/c++服务器程序内存泄露问题分析及解决
  • udp服务器和TCP服务器的问题
  • Turbolinux访问自己的FTP服务器和WWW服务器问题
  • 关于linux下QQ和代理服务器使用的问题(2个问题)
  • 一个Mozilla浏览器的问题,另一个sendmail服务器的问题!
  • 有关web服务器和数据库服务器分离的问题!
  • linux下web服务器与数据库服务器的分离问题(在线等!非常急!)
  • 在设备上配置NTP服务器时出现了下列问题导致服务器同步失败
  • linux下web服务器与数据库服务器的分离问题。
  • 一个最简单的问题:www服务器与web服务器是否一个概念?
  • Wget 设置代理服务器的密码问题----真正的人品问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 请问在红旗Linux多功能服务器版上(不是数据库服务器版)能否正常安装使用Oracle?红旗Linux数据库服务器版要比红旗Linux多功能服务器版贵
  • nginx 服务器介绍
  • 校园网,www服务器,邮件服务器,数据库服务器等各用什么平台(系统)性能最佳?
  • 代理服务器原理,功能及作用详细介绍
  • 双linux服务器如何能在一台服务器崩溃的情况下在另一台服务器上启动相应服务
  • Apache HTTP服务器2.4中的新功能概览
  • 如何有效判断服务器已经连接不上(服务器关闭,服务器非法退出等原因)
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • 在服务器端怎样检测客户端与服务器端的某个会话在一段时间里面没有通信,然后在服务器端终止该会话??
  • nginx服务器基本特性及使用技巧
  • 恳请对服务器的开发有经验的谈谈服务器开发经验(Unix/Linux & Win32):服务器构架、内存泄漏检测,异常出错……!!!
  • nginx服务器下通过fastcgi支持php5详细安装配置步骤
  • 如果服务器不是本机(程序在一服务器,数据库在一服务器,局域网),如何连接sql ??
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • 采用sendmail搭建邮件服务器必须在邮件服务器上构建DNS服务吗?
  • 服务器存储快照和数据库快照详解
  • web服务器和应用服务器的区别?
  • 现在有50台服务器,他们的IP是192.168.1.1~192.168.1.100,如何将服务器192.168.1.1的/etc/rc.local快速复制到另外49台服务器上?
  • 如何去理解web服务器与应用服务器
  • !!最近服务器A访问,数据库服务器B时比较慢


  • 站内导航:


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

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

    浙ICP备11055608号-3