Java教程

网络编程必要概念

本文主要是介绍网络编程必要概念,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.socket编程概念

  socket就是插座(中文翻译为套接字),运行在计算机中的两个程序通过socket建立起一个通道,数据在通道中传输。

  socket把复杂的TCP/IP协议簇隐藏了起来,对程序员来说,只要用好socket相关函数,就可以完成网络通信。

2.socket分类

  socket提供了流(stream)和数据报(datagram)两种通信机制,即流socket 和数据报socket。

  流socket基于TCP协议,是一个有序、可靠、双向字节流的通道,传输数据不会丢 失、不会重复、顺序也不会错乱。

   数据报socket基于UDP协议,不需要建立和维持连接,可能会丢失或错乱。UDP 不是一个可靠的协议,对数据的长度有限制,但是它的效率比较高。

  某些应用层协议, 出于历史原因,受当时技术和网络条件限制,选择了基于UDP实 现,其选择的理由现在很可能已经不再成立了。

  实时的音视频聊天可能采用的是UDP,这种业务可以接受数据的丢失且不必重传。

   本专题只介绍流socket,数据报socket的应用场景实在太少,以后可能更少。

3.简单的socket通信流程

这篇关于网络编程必要概念的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!