golang学习笔记017--tcp编程

      最后更新:2022-02-06 20:38:18 手机定位技术交流文章

      目录

      • 1.网络基本介绍
        • 1.1网络编程有两种
        • 1.2 协议tcp/ip
        • 1.3OSI与TCP/IP参考模型
        • 1.4 IP地址
        • 1.5端口port
        • 1.6端口分类
        • 1.7端口注意事项
      • 2.tcp socket编程快速入门
        • 2.1服务端处理流程
        • 2.2客户端处理流程
        • 2.3示意图
        • 2.4代码实现
          • server.go
          • client.go
          • 运行结果

      1.网络基本介绍

      1.1网络编程有两种

      ● TCP socket编程,是网络编程的主流,底层是基于Tcp/ip协议。比如QQ
      ● b/s结构的http编程,使用浏览器访问服务器时,使用的就是http协议,而http协议底层依旧是用tcp socket实现的

      1.2 协议tcp/ip

      TCP/IP (Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。

      1.3OSI与TCP/IP参考模型

      在这里插入图片描述
      在这里插入图片描述

      1.4 IP地址

      每个internet上的主机和路由器都有一个ip地址,它包括网络号和主机号,IP地址有ipv4(32位)和ipv6(128位)

      1.5端口port

      ● 这里的port不是指物理上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口
      ● 如果把P地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:256×256)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(256×256-1)
      在这里插入图片描述

      1.6端口分类

      1.7端口注意事项

      ● 在计算机尤其是服务器要尽可能的少开端口
      ● 一个端口只能被一个程序监听
      ● 如果使用netstat - an可以查看本机有哪些端口在监听
      ● 可以使用netstat - anb来查看监听端口的pid,在结合任务管理器关闭不安全的端口

      2.tcp socket编程快速入门

      2.1服务端处理流程

      1)监听端口8888
      2)接收客户端的 tcp链接,建立客户端和服务器端的链接.
      3)创建goroutine,处理该链接的请求(通常客户端会通过链接发送请求包)

      2.2客户端处理流程

      1)建立与服务端的链接
      2)发送请求数据[终端],接收服务器端返回的结果数据
      3)关闭链接

      2.3示意图

      在这里插入图片描述

      2.4代码实现

      server.go

      client.go

      运行结果

      在这里插入图片描述

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

          热门文章

          文章分类