java封装TCP UDP协议

来源:互联网 发布:c语言ppt 谭浩强 编辑:程序博客网 时间:2024/06/08 22:27
网络层:   InetAddress 表示网络当中的一台计算机
TCP 通信:1、创建socket/serviceSocket对象
                   2、根据socket创建输入输出流对象(创建信道)
  3、往输入输出流读写数据
  4、关闭输入输出流和socket
  面向连接的通信,安全可靠,但是效率低
UDP 通信: 面向无连接的通信,发送的是数据报,效率快。
                   1、创建InetAddress对象
  2、创建相应的DatagramPacket(接受和发送不一样)
  3、创建相应的DatagramSocket

  4、接收发送相应的数据






    import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;
    /**
 TODO ServiceSocket demo
 @author 张文斌
 @version 1.0 2014/9/1
*/
public class ServerSocketTest{
 public static void main(String[] args){
    Socket mySocket = null;
    DataOutputStream os = null;
DataInputStream is = null;
ServerSocket serverSocket = null;
try{
  serverSocket = new ServerSocket(3333);//创建serviceSocket
  mySocket = serverSocket.accept();
  is = new DataInputStream(mySocket.getInputStream());
  os = new DataOutputStream(mySocket.getOutputStream());//得到一个服务器端的输入流对象
  while(true){
    String msg = "你好客户端";
                  os.writeUTF(msg);
   Thread.sleep(1000);
   System.out.println("服务器发送:"+msg); 
    System.out.println("服务器接收:"+is.readUTF()); 
  }
}catch(InterruptedException e){
   
}catch(IOException e){
  System.out.println("连接出错!!");
}
 }
}


import java.net.Socket;
import java.io.*;
    /**
 TODO ClientSocket demo
 @author 张文斌
 @version 1.0 2014/9/1
*/
public class ClientSocketTest{
 public static void main(String[] args){
    DataOutputStream os = null;
DataInputStream is = null;
Socket socket = null;
try{socket = new Socket("127.0.0.1",3333);//创建serviceSocket
  is = new DataInputStream(socket.getInputStream());
                  os = new DataOutputStream(socket.getOutputStream());//得到一个服务器端的输入流对象
  while(true){
      String msg = "你好主机";
       os.writeUTF(msg);

    Thread.sleep(1000);
    System.out.println("客户端发送:"+msg);
    System.out.println("客户端接收:"+is.readUTF());
  }
}catch(InterruptedException e){
   
}catch(IOException e){
  System.out.println("连接出错!!");

 }
}


封装UDP:


0 0