中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

撫寧建設(shè)局網(wǎng)站網(wǎng)紅推廣接單平臺

撫寧建設(shè)局網(wǎng)站,網(wǎng)紅推廣接單平臺,手工制作大全圖片教程,北京網(wǎng)站建設(shè)招標(biāo)文章目錄 網(wǎng)絡(luò)編程1、網(wǎng)絡(luò)編程的基本介紹2.網(wǎng)絡(luò)編程的基礎(chǔ)知識1)協(xié)議(tcp/ip)2)OSI與TCP/ip參考模型3)ip地址4)端口(port)介紹5)tcp socket編程的客戶端和服務(wù)器端 3.socket編程快速入門4.經(jīng)典項(xiàng)目-海量用戶即時通訊系…

文章目錄

    • 網(wǎng)絡(luò)編程
      • 1、網(wǎng)絡(luò)編程的基本介紹
      • 2.網(wǎng)絡(luò)編程的基礎(chǔ)知識
        • 1)協(xié)議(tcp/ip)
        • 2)OSI與TCP/ip參考模型
        • 3)ip地址
        • 4)端口(port)介紹
        • 5)tcp socket編程的客戶端和服務(wù)器端
      • 3.socket編程快速入門
      • 4.經(jīng)典項(xiàng)目-海量用戶即時通訊系統(tǒng)
        • 1)項(xiàng)目開發(fā)流程
        • 2)需求分析
        • 3)界面設(shè)計(jì)

網(wǎng)絡(luò)編程

1、網(wǎng)絡(luò)編程的基本介紹

Golang的主要設(shè)計(jì)目標(biāo)之一就是面向大規(guī)模后端服務(wù)程序,網(wǎng)絡(luò)通信這塊是服務(wù)端程序必不可少也是至關(guān)重要的一部分

網(wǎng)絡(luò)編程有兩種

1)TCP socket編程,是網(wǎng)絡(luò)編程的主流。之所以交TCP socket編程,是因?yàn)榈讓邮腔赥cp/ip協(xié)議的,比如QQ聊天

2)b/s結(jié)構(gòu)的http編程。我們使用瀏覽器去訪問服務(wù)器時,使用的就是http協(xié)議,而http底層依舊是tcp socke實(shí)現(xiàn)的,比如京東商城(這屬于go web開發(fā)范疇)

2.網(wǎng)絡(luò)編程的基礎(chǔ)知識

1)協(xié)議(tcp/ip)

TCP/IP(Transmission Control Protocal)的簡寫,中文譯名為傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,又叫網(wǎng)絡(luò)通信協(xié)議,這個協(xié)議是Internet最基本的協(xié)議 internet國際互聯(lián)網(wǎng)的基礎(chǔ),簡單的說,就是由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成的

協(xié)議的抽象理解圖

在這里插入圖片描述

2)OSI與TCP/ip參考模型

在這里插入圖片描述

詳細(xì)結(jié)構(gòu)(模擬qq好友發(fā)送數(shù)據(jù)經(jīng)過的網(wǎng)絡(luò)協(xié)議層)

在這里插入圖片描述

3)ip地址

概述:每個internet上的主機(jī)和路由器都有一個ip地址,他包括網(wǎng)絡(luò)和主機(jī)號,ip地址有ipv4(32位)和ipv6(128位),可以通過ipconfig來查看

4)端口(port)介紹

我們這里所指的端口不是指物理意義上的端口,而是特指TCP/IP協(xié)議上的端口,是邏輯意義上的端口

如果把ip地址比作一個房子,端口就是出入這間房子的門。真正的房子只有幾個門,但是一個ip地址的端口可以有65536(256256)個之多!端口是通過端口號來標(biāo)記的,端口號只有整數(shù),范圍是0到65535(256256-1)

端口–分類

  • 0是保留端口
  • 1-1024是固定端口 又叫有名端口,即被某些程序固定使用,一般程序員不使用, 22:SSH遠(yuǎn)程登錄協(xié)議 23:telnet使用 21:Ftp使用 25:smtp服務(wù)使用 80:iis使用 7:echo服務(wù)
  • 1025-65535是動態(tài)端口這些端口,程序員是可以使用的(盡量使用40000以上的端口,這樣不易沖突,更好地進(jìn)行監(jiān)聽操作)

在這里插入圖片描述

端口(port)-使用注意

  • 在計(jì)算機(jī)(尤其是做服務(wù)器)要盡可能的少開端口
  • 一個端口只能被一個程序監(jiān)聽
  • 如果使用netstat -an 可以查看本機(jī)有哪些端口在監(jiān)聽
  • 可以使用netstat -anb來查看監(jiān)聽端口的pid,在結(jié)合任務(wù)管理器關(guān)閉不安全的端口
5)tcp socket編程的客戶端和服務(wù)器端

下圖為Golang socket編程中客戶端和服務(wù)器的網(wǎng)絡(luò)分布

在這里插入圖片描述

3.socket編程快速入門

項(xiàng)目示意圖

在這里插入圖片描述

1)服務(wù)端的處理流程

-1.監(jiān)聽端口

-2.創(chuàng)建客戶端的tcp連接,建立客戶端和服務(wù)端的連接

-3.創(chuàng)建goroutine,處理該連接的請求(通常客戶端會通過連接來發(fā)送請求包)

server.go

package main
import ("fmt""net" //做網(wǎng)絡(luò)socket開發(fā)時。net包含有我們需要所有的方法和函數(shù)// "io"
)func process(conn net.Conn) {//這里我們循環(huán)的接收客戶端發(fā)送的數(shù)據(jù)defer conn.Close() //關(guān)閉connfor {//創(chuàng)建一個新的切片buf := make([]byte,1024)//1.等待客戶端通過conn發(fā)送信息//2.如果客戶端沒有write[發(fā)送],那么協(xié)程就阻塞在這里fmt.Printf("服務(wù)器在等待客戶端%s 發(fā)送信息"+ conn.RemoteAddr().String())n,err :=conn.Read(buf) //從conn讀取if err != nil {fmt.Printf("客戶端退出 err=%v\n",err)return // !!!}//3.顯示客戶端發(fā)送的內(nèi)容到服務(wù)器的終端fmt.Println(string(buf[:n]))}
}
func main() {fmt.Println("服務(wù)器開始監(jiān)聽")//net.Listen("tcp","0.0.0.0:8888")//1.tcp表示使用網(wǎng)絡(luò)協(xié)議是tcp//2.0.0.0.0:8888 表示在本地監(jiān)聽8888端口listen, err :=net.Listen("tcp","0.0.0.0:8888")if err != nil {fmt.Println("listen err")return}defer listen.Close()  //延時關(guān)閉listen//循環(huán)等待客戶端連接我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())}//這里準(zhǔn)備啟動一個協(xié)程為客戶端服務(wù)go process(conn)}// fmt.Printf("Listen successfully=%v\n",listen)
}

2)客戶端的處理流程

-1.建立與服務(wù)端的鏈接

-2.發(fā)送請求數(shù)據(jù),接收服務(wù)器端返回的結(jié)果數(shù)據(jù)

-3.關(guān)閉連接

3)客戶端功能

-1.編寫一個客戶端程序,能連接到服務(wù)端的8888端口

-2.客戶端可以發(fā)送單行數(shù)據(jù),然后就退出

-3.能通過終端輸入數(shù)據(jù)(輸入一行發(fā)送一行),并發(fā)送給服務(wù)器端

-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.客戶端可以發(fā)送單行數(shù)據(jù),然后就退出reader:= bufio.NewReader(os.Stdin) //os.Stdin 代表標(biāo)準(zhǔn)輸入【終端】for {//從終端讀取一行用戶輸入,并準(zhǔn)備發(fā)送給服務(wù)器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發(fā)送給服務(wù)器_, err =conn.Write([]byte(line+ "\n"))if err != nil {fmt.Println("conn.Write err=",err)}//fmt.Printf("客戶端發(fā)送了%d字節(jié)的數(shù)據(jù),并退出",n)}}

運(yùn)行效果圖

在這里插入圖片描述

4.經(jīng)典項(xiàng)目-海量用戶即時通訊系統(tǒng)

1)項(xiàng)目開發(fā)流程

需求分析 -->設(shè)計(jì)階段–>編碼實(shí)現(xiàn)–>測試階段—>實(shí)施

2)需求分析

-1 用戶注冊

-2 用戶登錄

-3 顯示在線用戶列表

-4 群聊(廣播)

-5 點(diǎn)對點(diǎn)聊天(私聊)

-6 離線留言

3)界面設(shè)計(jì)

在這里插入圖片描述

項(xiàng)目開發(fā)前技術(shù)準(zhǔn)備

項(xiàng)目要保存用戶信息和消息數(shù)據(jù),因此我們需要學(xué)習(xí)數(shù)據(jù)庫(Redis和mysql),這里我們選擇redis,先學(xué)習(xí)如何在golang中使用redis

http://www.risenshineclean.com/news/33926.html

相關(guān)文章:

  • 網(wǎng)站開發(fā)需要什么配置的電腦優(yōu)化外包服務(wù)公司
  • wordpress修改永久鏈接后無法訪問seo優(yōu)化方案
  • 做網(wǎng)站大概需要多少錢深圳最新疫情
  • 濟(jì)南科技市場做網(wǎng)站河南做網(wǎng)站優(yōu)化
  • 做h5哪些網(wǎng)站好 知乎百度小程序
  • 蕪湖企業(yè)做網(wǎng)站電商運(yùn)營入門基礎(chǔ)知識
  • 個人網(wǎng)站好備案嗎東莞seo網(wǎng)站排名優(yōu)化
  • Linux做視頻網(wǎng)站網(wǎng)速均衡今日最新足球推薦
  • 互聯(lián)網(wǎng)app網(wǎng)站建設(shè)方案模板下載霸榜seo
  • 毛絨玩具 東莞網(wǎng)站建設(shè) 技術(shù)支持江西短視頻seo搜索報價
  • 莫鄰網(wǎng)站在線客服系統(tǒng)3步打造seo推廣方案
  • 哪些網(wǎng)站做的比較炫網(wǎng)頁設(shè)計(jì)個人主頁
  • 百度網(wǎng)盤可以做網(wǎng)站嗎英文網(wǎng)站設(shè)計(jì)公司
  • 如何評價小米的網(wǎng)站建設(shè)小程序開發(fā)平臺官網(wǎng)
  • 網(wǎng)站做302重定向網(wǎng)絡(luò)營銷的未來發(fā)展趨勢
  • 國外網(wǎng)站代理如何查詢網(wǎng)站收錄情況
  • 頁面設(shè)計(jì)在線seo搜狗
  • 網(wǎng)絡(luò)培訓(xùn)班靠譜嗎網(wǎng)站優(yōu)化哪家好
  • 網(wǎng)站建設(shè)的售后seo優(yōu)化服務(wù)是什么
  • 日本軟銀集團(tuán)市值關(guān)鍵詞優(yōu)化公司排行
  • 做淘寶貨源網(wǎng)站seo關(guān)鍵詞優(yōu)化排名軟件
  • 網(wǎng)站的開發(fā)方法谷歌全球營銷
  • 定制做網(wǎng)站費(fèi)用seo還有哪些方面的優(yōu)化
  • 做靜態(tài)網(wǎng)站的開題報告百度電話怎么轉(zhuǎn)人工客服
  • 貴港網(wǎng)站建設(shè)公司seo外包公司興田德潤
  • 黔江網(wǎng)站建設(shè)推廣軟件賺錢的平臺
  • 自貢做網(wǎng)站的公司深圳在線制作網(wǎng)站
  • 橋頭仿做網(wǎng)站搜索引擎營銷方案例子
  • 廣州市手機(jī)網(wǎng)站建設(shè)企業(yè)專業(yè)搜索引擎優(yōu)化
  • html5 個人網(wǎng)站模板世界足球排名