JAVA初学者如何实现基于UDP和TCP协议的网络编程
首先,我们需要先了解UDP协议、TCP协议的概念:
一、UDP协议:用户数据报协议,是一种无连接协议
二、TCP协议:文件传输协议,是一种面向连接的协议
他们都位于TCP/IP模型中的传输层,为整个网络体系结构建立通信服务,是两种不同的通信协议。
一点介绍先到,随后代码如龙(以传输文本数据为例)
基于无连接的UDP协议:
语义结构:
发送端:输入消息——拆分消息——按类的结构打包消息——发送消息
DatagramPacket类似于集装箱,DatagramSocket类似于码头
所谓无连接,所以发送方只需要知道对方IP(这里用本机地址)和端口号,也就是socket类,socket由地址(IP)和端口号(port)组成 ,便可以发送消息,不用事先建立链接,如QQ
接收端:找到消息端口——制定容器——接收——拆分
基于面向连接的TCP协议:需要双方先建立连接,后通信,如打电话。
客户发起连接——客户发送请求——服务器响应请求
总结:主要区别
UDP不需要事先建立连接,无服务器客户端之分,只有发送端和接收端,协议不可靠,数据传输采用DatagramPacket(数据报)
TCP需要事先建立连接,有服务器客户端之分,JAVA网络编程中,需先运行服务器才能运行客户端,协议可靠,数据传输采用IO流;
JAVA初学者如何实现基于UDP和TCP协议的网络编程相关推荐
- python tcp协议_python 网络编程 -- Tcp协议
Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 客户端 ...
- UDP与TCP协议详解
目录 前言 再谈端口号 端口号划分规范 常见的知名端口号 UDP协议 UDP协议段格式 UDP协议的特点 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 TCP协议 TCP协议段格式 TC ...
- JAVA零学习之基础归纳(十八)--网络编程、协议、IP、基本API、URL、socket等
[Java程序可以非常方便的访问互联网上的 HTTP服务.FTP服务等,并可以直接取得互联网上的远程资源,还可以向远程资源发送 GET.POST请求] 一.网络编程 1.1 网络概念和分类 所谓计算机 ...
- step5 . day2 网络编程 基于TPC协议的网络编程流程及API
基于TCP协议的网络编程流程 服务器端: 1) socket(),创建套接字文件,用于连接 2) bind(), 绑定,把socket()函数返回的文件描述符和IP.端口号进行绑定; 3) liste ...
- 基于TCP的应用层协议 与基于UDP的应用层协议分别有哪些
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 基于TC ...
- java socket 通信协议_java 基于TCP协议的Socket编程和通信
java 基于 TCP 协议的 Socket 编程和通信 在网络通讯中,第一次主动发起通讯的程序被称作客户 端 (Client) 程序, 简称客户端, 而在第一次通讯中等待连接的 程序被称作服务器端 ...
- socket网络编程 java_Java Web 基础(一) 基于TCP的Socket网络编程
一.Socket简单介绍 Socket通信作为Java网络通讯的基础内容,集中了异常.I/O流模式等众多知识点.学习Socket通信,既能够了解真正的网络通讯原理,也能够增强对I/O流模式的理解. 1 ...
- 【面试】TCP、UDP、Socket、HTTP网络编程面试题
文章目录 什么是网络编程 网络编程中两个主要的问题 网络协议是什么 为什么要对网络协议分层 计算机网络体系结构 1 TCP / UDP 1.1 什么是TCP/IP和UDP 1.2 TCP与UDP区别: ...
- 网络开发套接字以及UDP、TCP协议
目录 一.Socket 套接字 1.Socket 套接字的概念 2.Socket 套接字分类 3.Java数据报套接字通信模型 4.Java流套接字通信模型 5.Socket编程注意事项 二.UDP数 ...
最新文章
- ELK6.0已取消filebeat配置document_type
- 话里话外:浅淡对流程管理的认识及流程管理对企业价值
- mysql如何逻辑删除_mysql逻辑删除如何恢复
- 公差基本偏差代号_508/f7:基本偏差怎么查,标准公差又怎么查?
- Leetcode每日一题:1025.divisor-game(除数博弈)
- 谷歌发布 XS-Leaks 漏洞知识库
- [Git]解决Permission denied, please try again问题
- [K/3Cloud]有关单据显示行数限制和数据导出的建议
- 企事业单位 固定资产管理系统
- 线性表之带头双向循环链表
- 1.余弦定理、两角和公式公式复习
- Kaggle数据竞赛入门-Titanic生存预测
- 交互设计 | 如何做到惊喜?
- HTC IMEI码或SN码查询地址
- 人脸识别概述及基于多显卡服务器实现百万底库人脸比对的简单实现方案
- cpu怎么开启php,cpu怎么换
- 刚刚手贱把D盘设置为活动分区,导致无法进系统。来看看我的解决方法
- scratch鲜为人知的技巧-初级篇
- 为什么嘀嘀们用不上区块链?
- MFC中使用CPropertySheet实现Tab Control
热门文章
- 解决Serv-U服务停止的方法
- 在Python代码中调用WPS
- 实战 Java 第5天:开发商品查询(模糊查询与条件查询)接口
- 二分查找算法最靠左索引最靠右索引详解与优化:图文全解+代码详注+思路分析
- 卡尔曼(Kalman)滤波(三)-- 新息
- 简单总结微处理器、微型计算机和微型计算机系统的关系
- leetcode用python还是c_刷Leetcode里面遇到的问题(Python)
- Given any string of N (=5) characters, you are asked to form the characters into the shape of U.
- 深挖P2P传输技术,升级与创新并举
- 全球及中国POCT行业发展现状分析,市场主要集中在经济发达地区「图」