JavaSocket编程简介_动力节点Java学院整理-创新互联

对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信。这样就有两个Socket了,客户端和服务端各一个。

成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、服务器托管雅安、等保安全、私有云建设等企业级互联网基础服务,欢迎联系:18980820575

       对于Socket之间的通信其实很简单,服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容。Socket与Socket之间是双向连通的,所以客户端也可以往对应的Socket输出流里面写东西,然后服务端对应的Socket的输入流就可以读出对应的内容。下面来看一些服务端与客户端通信的例子:

      1、客户端写服务端读

       服务端代码 


Java代码  


 public class Server { 
 public static void main(String args[]) throws IOException { 
 //为了简单起见,所有的异常信息都往外抛 
 int port = 8899; 
 //定义一个ServerSocket监听在端口8899上 
 ServerSocket server = new ServerSocket(port); 
 //server尝试接收其他Socket的连接请求,server的accept方法是阻塞式的 
 Socket socket = server.accept(); 
 //跟客户端建立好连接之后,我们就可以获取socket的InputStream,并从中读取客户端发过来的信息了。 
 Reader reader = new InputStreamReader(socket.getInputStream()); 
 char chars[] = new char[64]; 
 int len; 
 StringBuilder sb = new StringBuilder(); 
 while ((len=reader.read(chars)) != -1) { 
  sb.append(new String(chars, 0, len)); 
 } 
 System.out.println("from client: " + sb); 
 reader.close(); 
 socket.close(); 
 server.close(); 
 } 
 } 

网页名称:JavaSocket编程简介_动力节点Java学院整理-创新互联
网址分享:http://pwwzsj.com/article/gipee.html