java中socket通信中的注意事项

来源:互联网 发布:猎场 胡歌 知乎 编辑:程序博客网 时间:2024/05/16 17:08
 

1、  java中的socket通信

A、 阻塞等待

在java的socket通信和io通信中,阻塞等待是一个很重要的概念。程序在执行到ServerSocket.accept() 、InputStream.read() 等阻塞程序代码时,会进行等待,直到该函数获得了满足执行的条件时才会继续执行。

应用:

在io通信中我们可以不断接受socket用户发送过来的信息。

DataInputStream din=new DataInputStream(socket.getInputStream());

While(true){

   String s=din.readUTF();

}

同意我们在接受键盘输入端 信息也是一样的。

BufferedReader breader=new BufferedReader(new InputStreamReader(System.in));

While(true){

            String s=din.readLine();

}

 

B、 在写有关Application应用程序,我们要将socket等io通信程序代码直接写到Application程序代码中,因为这样我们才能更方便的和界面中的控件相交互。

 

C、 在Socket通信中,

首先,当客户端连接服务器时,服务器必须先给客户端回应连接成功消息。

其次,当客户单退出时,客户端必须要通知服务器要断开socket连接,释放服务器资源,释放在服务器线程池中的对应线程。

最后,如果用户直接关闭窗口,则在窗口监听器中的

 void

windowClosing(WindowEvent e)
          窗口正处在关闭过程中时调用。

方法中释放资源.