TCP/UDP协议网络编程异同

网络编程:

  1. 计算机网络
    计算机网络是相互连接的独立自主的计算机的集合,
    最简单的网络形式由两台计算机组成。

  2. 网络通信
    2.1 : IP地址:
    IP网络中每台主机都必须有一个惟一的IP地址;
    IP地址是一个逻辑地址;
    因特网上的IP地址具有全球唯一性;

    IP格式: 32位,4个字节,常用点分十进制的格式表示,例如:192.168.0.16。
    2.2 : 端口号:
    端口使用一个16位的数字来表示,它的范围是0–65535,1024以下的端口号保留给预定义的服务。例如:http使用80端口。

    2.3网络在两台电脑直接传送数据

    客户端   :
    	提供图形化界面
    	操作服务器端
    服务器端 :
    	提供服务
    	开着,被访问
    
    架构模式:
    	 C/S:客户端+服务器端
    	 qq
    	 qq游戏
    	 斗地主
    
    	 B/S:浏览器端+服务器端
    		  javaEE
    
  3. 基于TCP的Socket编程步骤:
    TCP:面向连接的可靠的传输协议;在利用TCP协议进行通信的时候,首先要经过三步握手建立起通信双方的连接,一旦连接建立后就可以通信了。TCP协议提供数据确认和重传的机制,保证数据一定能够到达数据接收端。像打电话。

    服务器端:被操作
    客户端:用来操作服务器

    3.1 : 服务器程序编写:
         1,调用ServerSocket(int port)创建一个服务器端套接字,并绑定到指定端口上;
         2,调用accept(),监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字;
         3,调用Socket类的getOutputStream()和getInputStream获取输出流和输入流,开始网络数据的发送和接收;
         4,最后关闭通信套接字。
    
    3.2 : 客户端程序编写:
         1,调用Socket()创建一个流套接字,并连接到服务器端; 
         2,调用Socket类的getOutputStream()和getInputStream获取输出流和输入流,开始网络数据的发送和接收; 
         3,最后关闭通信套接字。
    3.3 : 常用方法使用:
         getInetAddress(); 返回套接字所连接的地址。 
         getInputStream(); 返回与客户端连接的输入流
         getOutputStream();返回与客户端连接的输出流
         getLocalAddress();获取套接字所绑定的本地地址。 
    
  4. 基于UDP的Socket编程步骤:
    UDP:是无连接的,不可靠的传输协议;采用UDP协议进行通信时,不需要建立连接,可以直接向一个IP地址发送数据,至于是不是能够收到不能保证,发送过程中数据有可能丢失、IP地址可能不存在、再者IP地址代表的主机没有运行等原因都可能导致不能接收到数据。

     1)接收端程序编写:
     	①调用DatagramSocket(int port)创建一个数据报套接字,并绑定到指定端口上;
     	②调用DatagramPacket(byte[] buf, int length),建立一个字节数组以接收UDP包 ;
     	③调用DatagramSocket类的receive(),接收UDP包;
     	④最后关闭数据报套接字。
     2)发送端程序编写:
     	①调用DatagramSocket()创建一个数据报套接字; 
     	②调用DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port),建立要发送的UDP包;
     	③调用DatagramSocket类的send(),发送UDP包;
     	④最后关闭数据报套接字。
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值