Android学习笔记17——TCP/IP socket编程

本文介绍了TCP/IP协议及两种主要的连接协议——面向连接的TCP和非连接的UDP。详细讲述了TCP/IP的特点和适用场景,并通过Java的Socket编程展示了TCP和UDP的简单服务器与客户端实现代码,帮助读者理解Android中网络通信的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先来介绍下网络协议: 
    TCP/IP 
        Transmission Control Protocol 传输控制协议 
        Internet Protocol 互联网协议 
    UDP 
        User Datagram Protocol 用户数据协议 

连接协议: 
    分为: 
    面向连接协议: Connection Oriented Protocol 
    非连接协议: Connectionless Protocol 

    1).面向连接协议是指两台电脑在传输数据前,先会建立一个专属的连接。就如电信局的交换机会为打电话双方提供专属连接一样。 
    Internet上的面向连接协议就是 TCP/IP 
    特点:确认回应;分组序号;流量控制。 
    TCP/IP属于可靠性传输,适合不容许有传输错误的网络程序设计使用 

    2).非连接协议:无专属连接,无分组,容错,距离短,可同时对多台电脑进行数据传输 
    Internet上的非连接协议就是 UDP 

    TCP在网络通信上有极强的生命力,例如远程连接( Telnet )和文件传输( FTP )都需要不定长度的数据被可靠地传输。相比之下 UDP 操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中 client/server 应用程序。 


Socket 是程序与网络间的一种接口,大部分网络应用程序都是点对点的,所谓点就是服务器端和客户端所执行的程序。 Socket 是用来接收和传送分组的一个端点。 

java Socket 编程要用到 java.net 包,最常用的是 net 包下的 6 个类: InetAddress( 互联网协议  (IP)  地址 ) 类, Socket( 套接字 ) 类, ServerSocket( 套接字服务器 ) 类, DatagramSocket( 发送和接收数据报包的套接字 类, DatagramPacket( 数据报包 ) 类, MulticastSocket( 多播数据报套接字类用于发送和接收  IP  多播包 ) 类,其中 InetAddress Socket ServerSocket 类是属于 TCP 面向连接协议, DatagramSocket 、  DatagramPacket MulticastSocket 类则属于 UDP 非连接协议的传送类。 

——From: http://cuishen.iteye.com/blog/242842

 

TCP 通信模型

Socket模型

 

示例代码:

UdpServer.java

UdpClient.java

 

TcpServer.java

TcpClient.java


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值