知识大全 Java编程那些事儿9——网络编程基础[2]

Posted

篇首语:人老心不老,身穷志不穷。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java编程那些事儿9——网络编程基础[2]相关的知识,希望对你有一定的参考价值。

Java编程那些事儿9——网络编程基础[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   端口的概念

  为了在一台设备上可以运行多个程序 人为的设计了端口(Port)的概念 类似的例子是公司内部的分机号码

  规定一个设备有 个 也就是 个端口 每个端口对应一个唯一的程序 每个网络程序 无论是客户端还是服务器端 都对应一个或多个特定的端口号 由于 之间多被操作系统占用 所以实际编程时一般采用 以后的端口号

  使用端口号 可以找到一台设备上唯一的一个程序

  所以如果需要和某台计算机建立连接的话 只需要知道IP地址或域名即可 但是如果想和该台计算机上的某个程序交换数据的话 还必须知道该程序使用的端口号

   数据传输方式

  知道了如何建立连接 下面就是如何传输数据了 先来看一下数据传输的方式

  在网络上 不管是有线传输还是无线传输 数据传输的方式有两种

  <!——[if !supportLists]——>l <!——[endif]——>TCP(Transfer Control Protocol)

  传输控制协议方式 该传输方式是一种稳定可靠的传送方式 类似于显示中的打电话 只需要建立一次连接 就可以多次传输数据 就像电话只需要拨一次号 就可以实现一直通话一样 如果你说的话不清楚 对方会要求你重复 保证传输的数据可靠

  使用该种方式的优点是稳定可靠 缺点是建立连接和维持连接的代价高 传输速度不快

  <!——[if !supportLists]——>l <!——[endif]——>UDP(User Datagram Protocol)

  用户数据报协议方式 该传输方式不建立稳定的连接 类似于发短信息 每次发送数据都直接发送 发送多条短信 就需要多次输入对方的号码 该传输方式不可靠 数据有可能收不到 系统只保证尽力发送

  使用该种方式的优点是开销小 传输速度快 缺点是数据有可能会丢失

  在实际的网络编程中 大家可以根据需要选择任何一种传输方式 或组合使用这两种方式实现数据的传递

   协议的概念

  协议(Protocol)是网络编程中一个非常重要的概念 指的是传输数据的格式 因为大家在网络中需要传输各种各样的信息 在程序中获得到的都是一组数值 如何阅读这些数值呢 就需要提前规定好这组数据的格式 在客户端按照该格式生成发送数据 服务器端按照该格式阅读该数据 然后在按照一定的格式生成数据反馈给客户端 客户端再按照该格式阅读数据 现实中类似的例子就是电报编码 每个数字都是用特定的数据表达

  一般程序的协议都分成客户端发送的数据格式 以及服务器端反馈的数据格式 客户端和服务器端都遵循该格式生成或处理数据 实现两者之间的复杂数据交换

   小结

  网络编程就是使用IP地址 或域名 和端口连接到另一台计算机上对应的程序 按照规定的协议(数据格式)来交换数据 实际编程中建立连接和发送 接收数据在语言级已经实现 做的更多的工作是设计协议 以及编写生成和解析数据的代码罢了 然后把数据转换成逻辑的结构显示或控制逻辑即可

cha138/Article/program/Java/hx/201311/27231

相关参考

知识大全 Java编程那些事儿14——Eclipse基础使用进阶

Java编程那些事儿14——Eclipse基础使用进阶  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Java编程那些事儿13——Eclipse基本使用[2]

Java编程那些事儿13——Eclipse基本使用[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 Java编程那些事儿13——Eclipse基本使用[1]

Java编程那些事儿13——Eclipse基本使用[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 那些软件是java编程。

那些软件是java编程。常用的倒是有很多,比如:JDK,NetBases,JBuilder,Eclipse,Eclipse,MyEclipseJDK是java初学时用的,很麻烦的,其实编程工具里面应该

知识大全 Java套接字实现网络编程之基础篇

Java套接字实现网络编程之基础篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!用Java开发网络

知识大全 Java网络编程基础(四) ServerSocket类使用

Java网络编程基础(四)ServerSocket类使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 Java网络编程基础(一) InetAddress类的使用

Java网络编程基础(一)InetAddress类的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 学java软件编程需要什么基础?没基础可以学吗?

学java软件编程需要什么基础?没基础可以学吗?学习java有基础的话学习得更快很扎实点,没有基础也是可以学的,只不过要付出更多努力和经历,可以报个培训班系统学习下。学习软件编程需要什么基础?初级软件

知识大全 Java网络编程基础(二) Socket类的使用方法

Java网络编程基础(二)Socket类的使用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Java多线程编程基础之线程对象

Java多线程编程基础之线程对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs