这里很多人问 multi Thread和 socket的问题,想知道大家拿它们在做什么?
我现在不想做java Web开发了,看看有没有新的东西搞。

解决方案 »

  1.   

    socket用于网络传输
    multi Thread用于分布式的
      

  2.   

    什么聊天啊,文件传输啊,下载啊的。有时候和其他系统交互也要用到 Socket。多线程嘛,那些小游戏要用到的。
      

  3.   

    呵呵!刚看的端口扫描,刚好把你说的都用到了!
    import java.io.IOException;
    import java.net.Socket;
    import java.net.UnknownHostException;public class PortScannerMultiThread {
        public static void main(String[] args) {
            String host = null;
            int beginport = 1;
            int endport = 65535;
            try{
                host = args[0];
                beginport = Integer.parseInt(args[1]);
                endport = Integer.parseInt(args[2]);
                if(beginport <= 0 || endport >= 65536 || beginport > endport){
                    throw new Exception("Port is illegal");
                }
            }catch(Exception e){
                System.out.println("Usage: java PortScannerSingleThread host beginport endport");
                System.exit(0);
            }
                    for (int i = beginport; i <= endport; i++) {
                PortProcessor pp = new PortProcessor(host,i);      //一个端口创建一个线程
                pp.start();
            }
        }
    }class PortProcessor extends Thread{
        String host;
        int port;
        
        PortProcessor(String host, int port){
            this.host = host;
            this.port = port;
        }
        
        public void run(){
            try{
                Socket s = new Socket(host,port);
                System.out.println("The port " + port + " is opened at " + host);
            }catch(UnknownHostException ex){
                System.err.println(ex);
            }catch(IOException ioe){
            }
        }
    }
      

  4.   

    java的网络功能很强啊,多线程也是
    所以开发网络软件多数都能用到以上两种阿
    比如开发一个下载的、ftp、聊天的(比如lumaQQ),游戏等等
    这些一些下来,windows,linux都能用呢
      

  5.   

    to 楼上:
    下载程序,能用c或c++做到的一般不会用java.
    lumaQQ是因为linux下没有用VC写的QQ程序,大家才用它的.
    至于Java ME的手机游戏, 是会用到线程比较多的.Java写的软件用户使用的优先级总是比VC的低,能有VC的大家肯定不会选择Java的.那java的多线程和socket开发的用武之地到底在哪里呢?
      

  6.   

    java的优点不在于应用软件,应该在于企业级的系统.
    但这些企业级的级的系统,哪里会用到thread和socket, 恳求赐教.
      

  7.   

    to 楼上的:
    lumaQQ是因为linux下没有用VC写的QQ程序,大家才用它的.
    linux下面用vc的好像有难度吧?
    企业级的你知道数据库连接池?不知道你可以查查
    我也没说java在应用软件上特别强,但是现在大名鼎鼎eclipse连c++编译都行的是用什么写的吗?
    oracle数据库,db2的这些数据库你知道大部分代码用什么写的吗?java!
    这些数据库的网络连接方面不用到socket吗?
    如果用java来写进度条,这就用到了多线程
    还有企业级的,企业级并不是只是jsp,ejb,j2ee还包括了j2se的东西,那些分布式的东西这两个会用得少吗?
    兄弟你不要太偏激,也不要以国内情况来下断论
      

  8.   

    感谢楼上的教诲,只是想做些有挑战的事情,每天都是struts,hibernate,spring,用别人铺好的路,希望自己做点东西出来,真正能用的上的东西.至于连接池,恩,一直用server自带的,可以考虑自己写个.
      

  9.   

    楼上的,教诲不敢当,相互切磋下还是可以的,共同进步吗,我也在努力着呢,呵呵
    其实struts等框架还是很优秀的,有的东西没有必要自己去写,人的生命是有限的阿,而且还要生活
    其实要是有时间,我觉得可以看看那些框架的源代码,特别是想写点底层的东西的话
    java其实我觉得除了跨平台,别的未必能比.net强到哪里去
    但是linux为什么软件不多呢?因为都不想去写两套C++的源代码
    java这方面比较有优势,如果新版本jre性能上提高的多的话
    以上为个人观点
      

  10.   

    blackpark(暖咖啡)
    ------------------
    企业用的日志服务器难道不需要Thread 根socket 么?我现在正在些一个日志服务器!