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

番禺网站制作价格nba排名西部和东部

番禺网站制作价格,nba排名西部和东部,南昌网站开发公司电话,包头市城乡建设委员会官方网站名称解析 名称解析:将名称解析成对应地址,名字-->IP 名称解析优点:便以记忆、解耦(断开直接的练习) 容器 mini的虚拟机,该容器地址是动态的、生命周期短暂;可实现登录功能 如果用户想要登录该…

名称解析

名称解析:将名称解析成对应地址,名字-->IP

名称解析优点:便以记忆、解耦(断开直接的练习)

容器

mini的虚拟机,该容器地址是动态的、生命周期短暂;可实现登录功能

  • 如果用户想要登录该网站(用于该容器地址是变化的,地址不固定)
  • login固定名称->名称解析->对应当前动态ip地址

ARP解析:IP-->MAR

单点故障:一个点失败,全局业务都失败。

分布式DNS:

DNS

Domain Name System域名系统,应用层协议,跨网络通信

DNS不仅是一个软件,而且还需要与网络通信,故属于应用层协议

【有些软件并不需要与网络通信,故不属于应用层协议】

TCP/IP四层概念模型

应用层

传输层

网络层

数据链路层

socket-Server

package mainimport ("fmt""net""strings"
)func main() {//创建监听ip := "192.168.0.0"port := 0address := fmt.Sprintf("%s:%d", ip, port)listener, err := net.Listen("tcp", address)if err != nil {fmt.Printf("net.Listen err:", err)return}fmt.Printf("正在监听中...")conn, err := listener.Accept()if err != nil {fmt.Printf("net.accept err:", err)return}fmt.Printf("连接建立成功!")//创建一个容器,用于接受所读取到的数据buf := make([]byte, 1024) //使用make来创建切片byte=uint8//cnt真正读取client发来的数据cnt, err := conn.Read(buf)if err != nil {fmt.Printf("conn.Read err:", err)return}fmt.Printf("client --> server,lenth:", cnt, "context:", string(buf))//服务器对客户端请求进行响应//将数据转换成大写 “hello”--> "HELLO"//func ToUpper(s string) stringupperData := strings.ToUpper(string(buf)) //服务端对客户端进行响应cnt, err = conn.Write([]byte(upperData))  //Write(b []byte) (n int, err error)   将字符串类型转换成切片类型fmt.Println("Client  <===== Server,responce_lenth", cnt, "responce_context", upperData)conn.Close() //关闭连接//net.Listen("tcp", ":8848") //简写,冒号前面默认是本机
}

将IP地址和port端口号进行更改,要不然会出现这种错误

如何查看本机电脑的ip和端口号呢?

step1:这个步骤只是看到IP地址,并没有看见端口号

step2:如果有wireshark软件,直接打开网络监听,可以看到各种各样的ip和port

找到与ipconfig中IPv4地址一样的IP对应的端口号。

该server服务器只能进行一次监听。

socket-client

package mainimport ("fmt""net"
)func main() {conn, err := net.Dial("tcp", "192.168.0.0:0") //指定ip和端口号if err != nil {fmt.Println("net Dial err", err)return}fmt.Println("client 与 server连接建立成功")//向服务器发送数据sendData := "helloworld"cnt, err := conn.Write([]byte(sendData))if err != nil {fmt.Println("conn.Write err", err)return}fmt.Println("Client --> Server cnt:", cnt, "    data:", sendData)//接收之后,服务器给客户端返回响应buf := make([]byte, 1024) //用于接收服务器返回的响应cnt, err = conn.Read(buf)if err != nil {fmt.Println("conn.Read err", err)return}fmt.Println("Client <===== Server,cnt:", cnt, "    data:", string(buf[0:cnt])) //string(buf[0:cnt])范围从0~cnt
}

http://www.dtcms.com/wzjs/18940.html

相关文章:

  • 中国建设银行启东市支行网站官网百度
  • 鲁中网站怎么做网站排名
  • 官方网站怎么制作网络营销论文题目
  • 日本做H网站怎样把个人介绍放到百度
  • 网站建设相关图片销售平台
  • 大连建站价格柳州今日头条新闻
  • 企业开发网站建设哪家好上海高玩seo
  • 上海一网武汉seo培训
  • 河源网站建设多少钱汕头seo服务
  • 沈阳开发网站怎样在百度上注册自己的店铺
  • 成都建好的网站出租牛推网络
  • 海宁高端网站设计google推广 的效果
  • 标书制作教学洛阳网站建设优化
  • 有免费的网站建设崇左seo
  • 台州公司网站建设营销网络推广方式有哪些
  • 美食网站html代码五种新型营销方式
  • 网站联合推广方案营销排名seo
  • 枣阳网站建设免费seo网站诊断
  • 河北企业建网站一级域名二级域名三级域名的区别
  • 经典网站设计涟源网站seo
  • 集团网站建设流程网站建设制作公司
  • 备案期间网站靠谱seo外包定制
  • 菏泽市住房和城乡建设局网站推广软文范文
  • 四川成都网站建设公司黑客入侵网课
  • lnmpa wordpress江东怎样优化seo
  • 网站可以做多语言的吗2021年关键词排名
  • 太原百度快速优化seo类目链接优化
  • 海门做网站百度下载并安装最新版
  • 南京做网站南京乐识最优上海搜索排名优化公司
  • 惠州 商城网站建设域名查询服务器