大致过程是这样,点击客户端连接按钮可以建立和服务端的socket连接,然后客户端点击发送可以向
服务端发送一条信息,但是在发送按钮的响应事件的函数执行完以后socket就自动断开了,想要第二次
发送信息就发不了了,而且我没有主动关闭socket连接,调试发现在第一次发送的事件响应函数的最后
还处于连接状态,但是再点发送按钮就断了,我不知道什么原因,求大神指点

解决方案 »

  1.   

    没有循环?while(true){
    serverSocket.accpet();
    }
    一次accpet();只能接受一次请求
      

  2.   


    有循环啊,不过你说一次accept()只能接受一次请求,我这块有点弄不明白
    比如说accept()以后接入了第一个连接,然后可以发送成功,我如果没关socket的话,它自己应该不会断开吧(时间很短)
    如果没断的话我能不能用这个socket进行第二次发送信息呢?如果断了的话它是怎么断的?
      

  3.   

    服务器进程的大致工作流程:
    while(true){
           监听端口,等待客户请求;
           响应客户请求;
    }
      

  4.   


    我想问的是接进来一次以后如果我发完数据socket 连接会不会自己断开?大致工作流程我也知道
      

  5.   

    Socket 是不是声明成局部变量了。或者如果你是点击按钮再连接。那你再次点击按钮,他会再次去连接。如果这时服务器端的accept()没放在while循环中,那服务器端就会再不接受客户端。这样信息就发不出去了
      

  6.   

    while(true){
        in.readLine();
        ......
    }