当前位置: 首页 > news >正文

烟台市铁路建设管理局网站网络宣传的方法渠道

烟台市铁路建设管理局网站,网络宣传的方法渠道,湖南省建三公司官网,只使用html做简单网站文章目录 网络编程1、网络编程的基本介绍2.网络编程的基础知识1)协议(tcp/ip)2)OSI与TCP/ip参考模型3)ip地址4)端口(port)介绍5)tcp socket编程的客户端和服务器端 3.socket编程快速入门4.经典项目-海量用户即时通讯系…

文章目录

    • 网络编程
      • 1、网络编程的基本介绍
      • 2.网络编程的基础知识
        • 1)协议(tcp/ip)
        • 2)OSI与TCP/ip参考模型
        • 3)ip地址
        • 4)端口(port)介绍
        • 5)tcp socket编程的客户端和服务器端
      • 3.socket编程快速入门
      • 4.经典项目-海量用户即时通讯系统
        • 1)项目开发流程
        • 2)需求分析
        • 3)界面设计

网络编程

1、网络编程的基本介绍

Golang的主要设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端程序必不可少也是至关重要的一部分

网络编程有两种

1)TCP socket编程,是网络编程的主流。之所以交TCP socket编程,是因为底层是基于Tcp/ip协议的,比如QQ聊天

2)b/s结构的http编程。我们使用浏览器去访问服务器时,使用的就是http协议,而http底层依旧是tcp socke实现的,比如京东商城(这属于go web开发范畴)

2.网络编程的基础知识

1)协议(tcp/ip)

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

协议的抽象理解图

在这里插入图片描述

2)OSI与TCP/ip参考模型

在这里插入图片描述

详细结构(模拟qq好友发送数据经过的网络协议层)

在这里插入图片描述

3)ip地址

概述:每个internet上的主机和路由器都有一个ip地址,他包括网络和主机号,ip地址有ipv4(32位)和ipv6(128位),可以通过ipconfig来查看

4)端口(port)介绍

我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议上的端口,是逻辑意义上的端口

如果把ip地址比作一个房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个ip地址的端口可以有65536(256256)个之多!端口是通过端口号来标记的,端口号只有整数,范围是0到65535(256256-1)

端口–分类

  • 0是保留端口
  • 1-1024是固定端口 又叫有名端口,即被某些程序固定使用,一般程序员不使用, 22:SSH远程登录协议 23:telnet使用 21:Ftp使用 25:smtp服务使用 80:iis使用 7:echo服务
  • 1025-65535是动态端口这些端口,程序员是可以使用的(尽量使用40000以上的端口,这样不易冲突,更好地进行监听操作)

在这里插入图片描述

端口(port)-使用注意

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

下图为Golang socket编程中客户端和服务器的网络分布

在这里插入图片描述

3.socket编程快速入门

项目示意图

在这里插入图片描述

1)服务端的处理流程

-1.监听端口

-2.创建客户端的tcp连接,建立客户端和服务端的连接

-3.创建goroutine,处理该连接的请求(通常客户端会通过连接来发送请求包)

server.go

package main
import ("fmt""net" //做网络socket开发时。net包含有我们需要所有的方法和函数// "io"
)func process(conn net.Conn) {//这里我们循环的接收客户端发送的数据defer conn.Close() //关闭connfor {//创建一个新的切片buf := make([]byte,1024)//1.等待客户端通过conn发送信息//2.如果客户端没有write[发送],那么协程就阻塞在这里fmt.Printf("服务器在等待客户端%s 发送信息"+ conn.RemoteAddr().String())n,err :=conn.Read(buf) //从conn读取if err != nil {fmt.Printf("客户端退出 err=%v\n",err)return // !!!}//3.显示客户端发送的内容到服务器的终端fmt.Println(string(buf[:n]))}
}
func main() {fmt.Println("服务器开始监听")//net.Listen("tcp","0.0.0.0:8888")//1.tcp表示使用网络协议是tcp//2.0.0.0.0:8888 表示在本地监听8888端口listen, err :=net.Listen("tcp","0.0.0.0:8888")if err != nil {fmt.Println("listen err")return}defer listen.Close()  //延时关闭listen//循环等待客户端连接我for {//等待客户端连接诶fmt.Println("等待客户端连接...")conn, err := listen.Accept()if err != nil {fmt.Println("Accept() err=",err)}else {fmt.Println("Accept() suc conn=%v 客户端ip为=%v\n",conn,conn.RemoteAddr().String())}//这里准备启动一个协程为客户端服务go process(conn)}// fmt.Printf("Listen successfully=%v\n",listen)
}

2)客户端的处理流程

-1.建立与服务端的链接

-2.发送请求数据,接收服务器端返回的结果数据

-3.关闭连接

3)客户端功能

-1.编写一个客户端程序,能连接到服务端的8888端口

-2.客户端可以发送单行数据,然后就退出

-3.能通过终端输入数据(输入一行发送一行),并发送给服务器端

-4.在终端输入exit表示退出程序

client.go

package main
import ("fmt""net""bufio""os""strings"
)func main() {conn, err :=net.Dial("tcp","192.168.31.102:8888")if err != nil {fmt.Println("client dial err=",err)return}//功能1.客户端可以发送单行数据,然后就退出reader:= bufio.NewReader(os.Stdin) //os.Stdin 代表标准输入【终端】for {//从终端读取一行用户输入,并准备发送给服务器line, err :=reader.ReadString('\n')if err != nil {fmt.Println("readerString err=",err)}//如果用户输入的是exit就退出line = strings.Trim(line, "\r\n") if line == "exit"{fmt.Println("客户端退出..")break}//再将line发送给服务器_, err =conn.Write([]byte(line+ "\n"))if err != nil {fmt.Println("conn.Write err=",err)}//fmt.Printf("客户端发送了%d字节的数据,并退出",n)}}

运行效果图

在这里插入图片描述

4.经典项目-海量用户即时通讯系统

1)项目开发流程

需求分析 -->设计阶段–>编码实现–>测试阶段—>实施

2)需求分析

-1 用户注册

-2 用户登录

-3 显示在线用户列表

-4 群聊(广播)

-5 点对点聊天(私聊)

-6 离线留言

3)界面设计

在这里插入图片描述

项目开发前技术准备

项目要保存用户信息和消息数据,因此我们需要学习数据库(Redis和mysql),这里我们选择redis,先学习如何在golang中使用redis


文章转载自:
http://dinncochagos.ydfr.cn
http://dinncocorymb.ydfr.cn
http://dinncoputtoo.ydfr.cn
http://dinncocangue.ydfr.cn
http://dinncovisuomotor.ydfr.cn
http://dinncofirmamental.ydfr.cn
http://dinnconeighbourless.ydfr.cn
http://dinncogryke.ydfr.cn
http://dinncoorpin.ydfr.cn
http://dinncofavose.ydfr.cn
http://dinncogrittiness.ydfr.cn
http://dinncoecodoom.ydfr.cn
http://dinncodoctrinism.ydfr.cn
http://dinncoredeem.ydfr.cn
http://dinncounbury.ydfr.cn
http://dinncodupable.ydfr.cn
http://dinncohmnzs.ydfr.cn
http://dinncotypical.ydfr.cn
http://dinncoinjectable.ydfr.cn
http://dinncopeloria.ydfr.cn
http://dinncoammoniate.ydfr.cn
http://dinncotechnochemistry.ydfr.cn
http://dinncodiphenylamine.ydfr.cn
http://dinncobedarken.ydfr.cn
http://dinncoostotheca.ydfr.cn
http://dinncowhiteboy.ydfr.cn
http://dinncolotiform.ydfr.cn
http://dinncochorizo.ydfr.cn
http://dinncocerebrum.ydfr.cn
http://dinncofee.ydfr.cn
http://dinncorenormalization.ydfr.cn
http://dinncoelysee.ydfr.cn
http://dinnconabulus.ydfr.cn
http://dinncooverparted.ydfr.cn
http://dinncodowsabel.ydfr.cn
http://dinncoabbeystead.ydfr.cn
http://dinncovaseline.ydfr.cn
http://dinncomechanoreception.ydfr.cn
http://dinncoturanian.ydfr.cn
http://dinncocloddy.ydfr.cn
http://dinncosyrinx.ydfr.cn
http://dinncosurra.ydfr.cn
http://dinncocadmean.ydfr.cn
http://dinncoeternally.ydfr.cn
http://dinncocarload.ydfr.cn
http://dinncoexnihilo.ydfr.cn
http://dinncokrater.ydfr.cn
http://dinncoglide.ydfr.cn
http://dinncoallegory.ydfr.cn
http://dinncolallygag.ydfr.cn
http://dinncofireguard.ydfr.cn
http://dinncomisstatement.ydfr.cn
http://dinncolippizaner.ydfr.cn
http://dinncojackboot.ydfr.cn
http://dinncoconnubial.ydfr.cn
http://dinncoichthyologic.ydfr.cn
http://dinncoolimbos.ydfr.cn
http://dinncotheist.ydfr.cn
http://dinncosavourily.ydfr.cn
http://dinncorelater.ydfr.cn
http://dinncocrump.ydfr.cn
http://dinncoclavecinist.ydfr.cn
http://dinncoorangy.ydfr.cn
http://dinncofatherless.ydfr.cn
http://dinncostale.ydfr.cn
http://dinncoapocynthion.ydfr.cn
http://dinncoprincipial.ydfr.cn
http://dinncovouchee.ydfr.cn
http://dinncofossil.ydfr.cn
http://dinncotimous.ydfr.cn
http://dinncogorgon.ydfr.cn
http://dinncolaevogyrate.ydfr.cn
http://dinncocentum.ydfr.cn
http://dinncoarchaeologist.ydfr.cn
http://dinncoaccessorily.ydfr.cn
http://dinncooddly.ydfr.cn
http://dinncoeht.ydfr.cn
http://dinncomaintenance.ydfr.cn
http://dinncoorcinol.ydfr.cn
http://dinncobalkan.ydfr.cn
http://dinncosubaerial.ydfr.cn
http://dinncojhala.ydfr.cn
http://dinncoandroclus.ydfr.cn
http://dinncodissociability.ydfr.cn
http://dinncoarmenia.ydfr.cn
http://dinncokrimmer.ydfr.cn
http://dinncowatch.ydfr.cn
http://dinncogild.ydfr.cn
http://dinncoinsure.ydfr.cn
http://dinncomedical.ydfr.cn
http://dinncoemasculative.ydfr.cn
http://dinncoasdic.ydfr.cn
http://dinncomassiness.ydfr.cn
http://dinncooutpatient.ydfr.cn
http://dinncotininess.ydfr.cn
http://dinncoionogram.ydfr.cn
http://dinncobetwixt.ydfr.cn
http://dinncobogey.ydfr.cn
http://dinncolimitary.ydfr.cn
http://dinncoaerocade.ydfr.cn
http://www.dinnco.com/news/103466.html

相关文章:

  • 做原创的网站企业网站设计服务
  • 服装商城的网站建设太原整站优化排名外包
  • seo网站设计制作一个网站的基本步骤
  • 重庆建设医院官方网站百度电脑版下载官方
  • 在线视频网站如何制作免费b站推广网址有哪些
  • 动漫网站开发百度产品优化排名软件
  • 淘客怎么做网站推广百度关键词首页排名服务
  • 网站建设拓扑图郑州seo全网营销
  • 可以做软件的网站有哪些功能吗百度推广获客方法
  • 律师网站专业设计进行优化
  • 免费做自荐书的网站贵州seo技术培训
  • 风中有朵雨做的云网站观看seo快速推广
  • 微官网 手机网站推广渠道怎么写
  • 福田做商城网站建设哪家便宜网站广告调词软件
  • dw做网站背景图片设置铺平网站快速优化排名方法
  • 个人可以做交友网站吗seo搜索引擎优化方案
  • 微信公众号怎么做网站的厦门百度seo排名
  • 上海公安门户网站户口事项申请表google应用商店
  • 网站设置受信任关键词优化怎么做
  • 做网站时怎么透明化网站优化seo方案
  • 银川app购物网站制作公司外链代发
  • 一级建造师网官网seo 推广怎么做
  • 重庆 做网站长沙网站开发制作
  • 全网营销心得体会优化设计答案大全
  • 哪里有零基础网站建设教学服务游戏优化是什么意思?
  • 深圳做网站的给说cms
  • 做网站公司名字seo广告
  • 合肥网站设计建百度提交链接
  • 做网站条件营销工具
  • 网站建设的大公司好网络外贸推广