没有问题阿,我的服务器程序就是用java写的。你可以贴出主要代码,大家来分析一下。

解决方案 »

  1.   

    端口是对的。我的代码如下:
    ---------------------------------------------------------
    public static void main(String[] args ){
            try
            {
                ServerSocket s = new ServerSocket(8500);
                Socket incoming = s.accept( );
                BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
                PrintWriter out = new PrintWriter(incoming.getOutputStream(), true); /* autoFlush */            out.println( "Hello! Enter BYE to exit." );            boolean done = false;
                while (!done){
                    String line = in.readLine();
                    System.out.println("------"+line);
                    if (line == null){
                        done = true;
                    }else{
                        out.println("Echo: " + line);
                        if (line.trim().equalsIgnoreCase("BYE")){
                            done = true;
                        }
                    }
                }
                incoming.close();
            }
            catch (Exception e){
                System.out.println(e);
            }
        }
    就是一个单线程的程序,而且我发现是在in.readLine();有的问题。
      

  2.   

    估计是BufferedReader的问题,我用InputStreamReader的read来实现的通讯都很正常。
      

  3.   

    我尝试了用read方法来取信息,发现也是正常的。
    但必须先new 一个char数组,但又出现一个新的问题,
    如果new一个char数组,每次read到的会有信息的覆盖,好像应该每次都要清空char数组。如果read一次,就new一次char感觉太浪费资源了。请问 fastmask(我心烦)怎么处理的,谢谢!