接地气讲解TCP协议和网络程序设计

      最后更新:2022-08-01 21:47:51 手机定位技术交流文章

      1、

      TCP接地气解释

      TCP协议每个人都应该知道中文的意思是“传输控制协议”。

      这就是教科书的理解。它提供了两个计算机之间可靠的数据传输,确保数据在收到后从一个端发送到另一个端,数据可以准确地提供(这是可靠的含义),数据到达的顺序与发送的顺序相同。这本课本的确是一本课本.听了半天,啥也没懂。

      让我们听听这位网民的地面呼吸的解释.TCP协议就像调用,A给B打电话,你必须回答电话才能听见A的讲话。这样,你就能可靠地听到A所说的话。是一对一的关系。这够接地气了吧。这是TCP协议和UDP协议之间的对比,下文解释UDP协议。

      2、

      两个概念(端口和插座)

      端口:计算机只有一个物理端口连接到网络(即网络连接)。如何使用一个港口?明显会撞车,所以这个物理端口负责接收或发送数据,而网络程序设计中的端口并不真的存在,只是一个虚构的连接装置。端口定义为0到65535之间的整数,0~1023用于其他用途,我们不能用了,因此,用于编写程序的端口必须高于1024。

      套接字(Socket)这个一听就不知道是什么鬼东西,教科书解释用于连接应用程序到终端。还不懂是吧?那就正常啦。事实上,我们可以这样认为,比较网络与电路或网格,把端口比喻成插座,毫无疑问,插头是一个插头,一旦网络连接,它将连接到端口上。就像插件和插件和插件一样。它实际上是程序和网络之间的桥梁。这比喻够形象了吧,还不够的话上图。


      知道这东西的存在,那怎么用呢?在使用它之前,我们需要理解一个原则(如图1),两台计算机之间的通信是一个端是服务器,一个端是客户端(用户),所以呢套接字也会分服务器套接字(ServerSocket)和客户端套接字(Socket),让我们看一下可以使用的一些不同的方法:

      服务器索克使用:

      参数只有一个,就是指定一个端口,以下是它的方法,调用接受()方法返回一个接口对象,直到客户端成功连接。这个接口对象可以与客户端的接口进行通信,具体而言, 通过输入和输出流来实现通信.比如,服务器的 Socket 对象使用 getOutputStream() 方法获取输出流,然后客户端的接口对象使用 getInputStream()来获取输入流,这完成从服务器到客户端发送消息的功能,反之亦然。


      索克使用:

      第一个参数是连接服务器的主机IP地址,第二个参数是端口。

      3、

      实战

      看了这么多理论,是时候来实战一下了,看一个很简单的程序,我会详细讲解这个程序。因为需要一个服务器和客户端,所以我打开了两个eclipse,这里为了省空间,我把导入包的操作都省略了。先来看服务器端:

      我在评论中写的特定句子的功能,首先,创建一个服务器插座,它连接到服务器的端口,等待用户连接,如果客户端此时连接到服务器,然后在服务器端返回一个索克索克,现在是完成连接工作的时候,剩下的只是发送消息。发送过程指定了评论。让我们再看看客户:

      客户端的代码更简单,你可以直接输入IP地址和连接到服务器的端口,然后通过输入输出流发送消息,看看效果图:


      注意 server-side accept() 方法阻塞了线程的执行,换句话说,如果客户端不连接,它将等待,下一个句子将不会执行,下两个句子将被知道直到连接完成。

      TCP协议搞定。这里给大家支个招,怎么查看电脑的软件占用了那些端口呢?如果之前运行程序可以,后来又不行,很可能就是端口被占用了。在命令行输入:netstat -an (有空格!!)

      以前我一直听说过TCP协议,但今天我终于明白了!

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/31202.html

          热门文章

          文章分类