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

来源:互联网 发布:ubuntu java安装 编辑:程序博客网 时间:2024/05/22 05:21

先来介绍下网络协议: 
    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是用来接收和传送分组的一个端点。 

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

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

 

TCP 通信模型

Socket模型

 

示例代码:

UdpServer.java

UdpClient.java

 

TcpServer.java

TcpClient.java


原创粉丝点击