1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

socket编程--客户端和服务端聊天室

client  :  package com.xiao.socket;    import java.io.IOException;  import java.io.OutputStream;  import java.net.InetAddress;  import java.net.Socket;  import java.net.UnknownHostException;    //客户端  public class Client {      public static void main(String[] args) {    //流先开后关          Socket socket =null;          OutputStream os =null;          try {              //1.要知道服务端的地址,端口号              InetAddress   serverIP = InetAddress.getByName("127.0.0.1");              int port=9999;//刚刚我们在服务端定义的端口              //2.创建一个socket连接            socket = new Socket(serverIP, port);              //3.发送消息IO流              os = socket.getOutputStream();             os.write("小小不是傻子".getBytes());          } catch (Exception e) {              e.printStackTrace();          }finally {              if(os!=null){                  try {                      os.close();                  } catch (IOException e) {                      e.printStackTrace();                  }              }              if(socket!=null){                  try {                      socket.close();                  } catch (IOException e) {                      e.printStackTrace();                  }              }            }      }  }
server:  package com.xiao.socket;    import java.io.ByteArrayOutputStream;  import java.io.IOException;  import java.io.InputStream;  import java.net.ServerSocket;  import java.net.Socket;    //服务端  public class Server {      public static void main(String[] args) {          //流先开后关          Socket socket=null;          InputStream in =null;          ByteArrayOutputStream byteArrayOutputStream =null;          try {              //1.我得有一个地址              ServerSocket serverSocket = new ServerSocket(9999);              while(true){                  //2.等待客户端连接过来                  socket=serverSocket.accept();                  //3.读取客户端的消息                  in = socket.getInputStream();                  //管道流                  byteArrayOutputStream = new ByteArrayOutputStream();                  byte[] buffer=new byte[1024];                  int lenth;                  while((lenth=in.read(buffer))!=-1){                      byteArrayOutputStream.write(buffer,0,lenth);                  }                  System.out.println(byteArrayOutputStream.toString());                }               } catch (IOException e) {              e.printStackTrace();          }finally {          if(byteArrayOutputStream!=null){              try {                  byteArrayOutputStream.close();              } catch (IOException e) {                  e.printStackTrace();              }          }          if(in!=null){              try {                  in.close();              } catch (IOException e) {                  e.printStackTrace();              }          }          if(socket!=null){              try {                  socket.close();              } catch (IOException e) {                  e.printStackTrace();              }          }          }      }  }



微信扫码关注

更新实时通知

作者:xiao 分类:软件笔记 浏览: