码迷,mamicode.com
首页 > 编程语言 > 详细

Java Socket编程

时间:2014-07-24 23:43:04      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:socket   server   public   客户端   服务端   

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

 

客户端写服务端读

服务端代码

 

  1. public class Server {   

  2.     

  3.    public static void main(String args[]) throws IOException {   

  4.       //为了简单起见,所有的异常信息都往外抛   

  5.       int port = 8899;   

  6.       //定义一个ServerSocket监听在端口8899上   

  7.       ServerSocket server = new ServerSocket(port);   

  8.       //server尝试接收其他Socket的连接请求,server的accept方法是阻塞式的   

  9.       Socket socket = server.accept();   

  10.       //跟客户端建立好连接之后,我们就可以获取socket的InputStream,并从中读取客户端发过来的信息了。   

  11.       Reader reader = new InputStreamReader(socket.getInputStream());   

  12.       char chars[] = new char[64];   

  13.       int len;   

  14.       StringBuilder sb = new StringBuilder();   

  15.       while ((len=reader.read(chars)) != -1) {   

  16.          sb.append(new String(chars, 0, len));   

  17.       }   

  18.       System.out.println("from client: " + sb);   

  19.       reader.close();   

  20.       socket.close();   

  21.       server.close();   

  22.    }   

  23.       

  24. }  

客户端代码

 

  1. public class Client {   

  2.     

  3.    public static void main(String args[]) throws Exception {   

  4.       //为了简单起见,所有的异常都直接往外抛   

  5.       String host = "127.0.0.1";  //要连接的服务端IP地址   

  6.       int port = 8899;   //要连接的服务端对应的监听端口   

  7.       //与服务端建立连接   

  8.       Socket client = new Socket(host, port);   

  9.       //建立连接后就可以往服务端写数据了   

  10.       Writer writer = new OutputStreamWriter(client.getOutputStream());   

  11.       writer.write("Hello Server.");   

  12.       writer.flush();//写完后要记得flush   

  13.       writer.close();   

  14.       client.close();   

  15.    }   

  16.       

  17. }  

 

本文出自 “杨海龙的博客” 博客,转载请与作者联系!

Java Socket编程,布布扣,bubuko.com

Java Socket编程

标签:socket   server   public   客户端   服务端   

原文地址:http://7218743.blog.51cto.com/7208743/1529867

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!