TCP与UDP

udp: a、是面向无连接, 将数据及源的封装成数据包中,不需要建立连接
b、每个数据报的大小在限制64k内
c、因无连接,是不可靠协议
d、不需要建立连接,速度快
tcp: a、建议连接,形成传输数据的通道.
b、在连接中进行大数据量传输,以字节流方式
c 通过三次握手完成连接,是可靠协议
d 必须建立连接m效率会稍低

UDP协议
通过UDP协议实现课程案例,客户端与服务器端进行传输
UDP服务器端代码
//socket服务器端
class UdpSocketServer {

public static void main(String[] args) throws IOException {
    System.out.println("udp服务器端启动连接....");
    DatagramSocket ds = new DatagramSocket(8080);
    byte[] bytes = new byte[1024];
    DatagramPacket dp = new DatagramPacket(bytes, bytes.length);
    // 阻塞,等待接受客户端发送请求
    ds.receive(dp);
    System.out.println("来源:"+dp.getAddress()+",端口号:"+dp.getPort());
    // 获取客户端请求内容
    String str=new String(dp.getData(),0,dp.getLength());
    System.out.println("str:"+str);
    ds.close();
}

}

UDP客户端代码
// udp客户端代码
public class UdpClient {

 public static void main(String[] args) throws IOException {
     System.out.println("udp客户端启动连接....");
     DatagramSocket ds = new DatagramSocket();
     String str="蚂蚁课堂";
     byte[] bytes= str.getBytes();
     DatagramPacket dp= new DatagramPacket(bytes, bytes.length,InetAddress.getByName("127.0.0.1"),8080);
     ds.send(dp);
     ds.close();
}

}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 591235401@qq.com

文章标题:TCP与UDP

本文作者:阿杜同学

发布时间:2019-02-10, 20:15:21

最后更新:2019-02-10, 20:15:21

原始链接:http://yoursite.com/2019/02/10/TCP%E4%B8%8EUDP/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录