TCP/UDP实例讲解

本文介绍了TCP/UDP协议下的socket通信,详细讲解了socket作为网络通信机制的作用,以及TCP和UDP的区别。TCP提供可靠连接,适合大数据量传输,而UDP则速度快但不可靠,常用于QQ、微信等实时交互应用。文中还给出了TCP和UDP的客户端和服务端实现示例。
摘要由CSDN通过智能技术生成

基于TCP/UDP的socket通讯

一、socekt是什么?

Socket是什么?(两个港口之间通过船来传输货物,而船是协议。socket就是港口)

1、是为网络服务提供的一种机制

2、通讯的两端都有Socket

3、网络通信其实就是Socket间的通信

4、数据在两个socket间通过IO传输


二、但是都知道,港口有了,但是船的类型可不一样,有的是民用、有的是军用。各有各的!所以我们经常用的是TCP协议和UDP协议,如果TCP是军用,那么UDP就是民用,从字面意思就可以明白,TCP更可靠!那么两者的区别是什么?

UDP讲解:

1、将数据及园和目的封装成数据包中,不需要建立连接(就像寄邮件一样,并不会去操心收件人是否能一定收到)!

2、每个数据报的大小限制在64K内,(加入你有2M数据,那你只能分为多个包去发)

3、因无连接,是不可靠连接(数据容易丢失,例如我们经常下载电影、音乐就是UDP、有时候就容易下载下来不能去观看,就是一部分数据丢失了)

4、不需要建立连接,所以速度快(比如我们聊天,并不知道对方在线不,只是发出去数据就好,至于聊天数据会不会丢,没人会在意,只希望聊天速度快,而不会去纠结特别安全)!

Tcp讲解:

1、建立连接,形成传输的通道(例如打电话,双方有一个人电话挂了,就不能传输数据)

2、在连接进行大数据量的传输

3、通过三次握手完成连接,是可靠协议

4、必须建立连接,效率是稍低,但是很可靠!

举个TCP三次握手的例子:

(而TCP建立连接是通过三次握手,比如张三要给李四打电话,必须保证李四本人亲自接受并确认)

第一步:张三给李四首先拨号

第二步:李四接收到拨打的通知,点击接受通话(如果不接电话,就不可能创建通话)

第三步:双方确认你在吗,并且是否是本人

这三步确认了之后,他们就可以放心的打电话了。


我们先看一下具体如何使用TCP。看下图所示!

这里写图片描述


一、那么使用TCP,客户端和服务端是如何通讯的呢

这里写图片描述


二、实现Socket通讯的4大步

这里写图片描述


三、客户端步骤

这里写图片描述


四、服务端步骤

这里写图片描述


五、实例

  • 客户端代码
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;



/*
 * 基于TCP的socket通讯
 * 客户端
 * */
public class TcpClient {
   

    public static void main(String[
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值