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

网站排名不稳定一个大佬做的本子网站

网站排名不稳定,一个大佬做的本子网站,怎么做网站动态框,wordpress log文件大小1、概念 网络编程:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享数据、软件、数据信息等资源。 客户端(Client) 客户端是请求服务…

1、概念

网络编程:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享数据、软件、数据信息等资源。

客户端(Client)

客户端是请求服务的计算机或程序,它可以是桌面应用、移动应用或网页应用。客户端通常负责用户界面的呈现和用户输入的处理。用户通过客户端向服务器发送请求,通常包括想要访问的数据或资源的具体信息。例如,当你在浏览器中输入一个网址时,浏览器就是客户端,它向相应的服务器发送请求来获取页面信息。

服务器端(Server)

服务器端是提供服务的计算机或程序,它接收来自客户端的请求并做出响应。服务器通常负责处理数据、运行业务逻辑、存储数据和管理网络资源。响应可以是所请求的数据、处理结果,或者是其他要求的资源。例如,当服务器接收到来自浏览器的请求时,它会查找相应的网页文件并将其发送回客户端。

设备之间在网络中进行数据的传输/接收数据。 

通信两个重要的要素:IP + PORT

设备之间进行传输的时候,必须遵照一定的规则 ----> 通信协议

TCP协议:可靠的
1、建立连接:三次握手


2、释放连接:

UDP协议:不可靠的 

 

2、TCP编程 -- 创建客户端

net包
Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国

Dial函数("net"):

package main
import ("fmt""net" // 网络包
)func main(){//打印:fmt.Println("客户端启动中...")//调用Dial函数:参数:协议、IP、端口号conn,err := net.Dial("tcp","127.0.0.1:8888") //协议、IP、端口号if err != nil{// 连接失败fmt.Println("客户端连接失败:err:",err)return}fmt.Println("连接成功,conn=",conn)
}

3、TCP编程 -- 创建服务器端

进行监听:

Listen函数("net"):

package main
import ("fmt""net" // 网络包
)func main(){//打印:fmt.Println("服务器端启动中...")//进行监听:需要指定服务器端TCP协议,服务器端的IP + PORTlisten,err := net.Listen("tcp","127.0.0.1:8888") //协议、IP、端口号if err != nil{// 监听失败fmt.Println("监听失败:err:",err)return}//监听成功,等待客户端连接//循环等待客户端连接for {conn,err := listen.Accept() // 等待客户端连接if err!= nil{fmt.Println("客户端连接失败:err:",err)return}fmt.Printf("等待连接成功,conn=%v,接收到的客户端信息: %v \n",conn,conn.RemoteAddr().String())}
}

4、TCP编程 -- 连接测试

运行时注意:需要先启动服务器端,然后启动客户端进行访问:

5、TCP编程 -- 发送终端数据

通过客户端发送单行数据,然后退出:


客户端:

package main
import ("fmt""net" // 网络包"bufio" // 缓冲包"os" // 操作系统包
)func main(){//打印:fmt.Println("客户端启动中...")//调用Dial函数:参数:协议、IP、端口号conn,err := net.Dial("tcp","127.0.0.1:8888") //协议、IP、端口号if err != nil{// 连接失败fmt.Println("客户端连接失败:err:",err)return}fmt.Println("连接成功,conn=",conn)//通过客户端发送单行数据,然后退出:reader := bufio.NewReader(os.Stdin) // 读取用户输入的内容//从终端读取一行用户输入,并准备发送给服务器str, err := reader.ReadString('\n') // 读取用户输入的内容if err!= nil{fmt.Println("readString err:",err)}//发送数据:n,err := conn.Write([]byte(str)) // 发送数据if err!= nil{fmt.Println("conn.Write err:",err)}fmt.Printf("发送了%d字节的数据,并退出\n",n)
}

服务器端:

package main
import ("fmt""net" // 网络包
)func process(conn net.Conn){defer conn.Close() // 关闭连接for{//创建一个切片,用于存储读取到的客户端发送的数据buf := make([]byte,1024)//从conn连接中读取数据n,err := conn.Read(buf) // 读取数据if err!= nil{fmt.Println("conn.Read err:",err)return}//显示客户端发送的内容到服务器端的终端fmt.Print(string(buf[:n])) // 显示客户端发送的内容到服务器端的终端//向客户端回复okconn.Write([]byte("ok...\n")) // 回复客户端}
}func main(){//打印:fmt.Println("服务器端启动中...")//进行监听:需要指定服务器端TCP协议,服务器端的IP + PORTlisten,err := net.Listen("tcp","127.0.0.1:8888") //协议、IP、端口号if err != nil{// 监听失败fmt.Println("监听失败:err:",err)return}//监听成功,等待客户端连接//循环等待客户端连接for {conn,err := listen.Accept() // 等待客户端连接if err!= nil{fmt.Println("客户端连接失败:err:",err)return}else{fmt.Printf("等待连接成功,conn=%v,接收到的客户端信息: %v \n",conn,conn.RemoteAddr().String())}//准备一个协程,协程处理客户端服务请求go process(conn) // 协程处理客户端服务请求,不同的客户端连接,需要不同的协程处理}
}

http://www.yayakq.cn/news/498034/

相关文章:

  • 网站建设中联系我们怎么写家庭农场做网站
  • 5网站开发之美淘宝优惠券怎么做网站
  • 网站建设推广平台app在线生成平台 免费
  • 东莞市建设规划局网站网站建设例子
  • 企业营销型网站规划网站虚假备案
  • 做程序任务发布的网站网站建设业务介绍
  • 珠海网站设计培训班深圳设计公司前十名
  • 南昌新手网站建设费用网站稳定期的推广
  • 事业单位做网站需要前置审批吗金华seo建站
  • php cms网站建设茂名网站建设服务
  • 网站改版重新收录网推软件有哪些
  • 网站建设可以自学吗吕梁网站定制
  • 沈阳专业网站seo推广线上营销模式有哪些
  • 贵州省住房与城乡建设部网站wordpress 动态解析
  • 定制网站哪家好网站底部的备案号
  • 活动网站建设企业网站每天更新
  • 婚介网站建设的策划做网站建设优化的公司
  • 岳阳公司做网站产品设计公司起名
  • 网站开发所需的费用中国建盏大师排名表
  • 好的网站开发培训企业服务网站建设需要多少钱
  • 云南网站建设企业wordpress 设置404
  • 网站建设 开票wordpress主题激活
  • 阳泉移动网站建设如何做网站条幅闪图
  • 网站空间大小有什么用内蒙建设信息网站
  • 企业手机网站建设案例广东专业做网站
  • 阿里巴巴国际站运营教程办文明网站 做文明网民活动
  • net建站系统徐州网站建设的特点
  • 工信部网站备案的需要幕布牡丹江建设工程信息网站
  • 盐城市建设局网站物业资质企业建网站解决方案
  • 转播网站如何做四川建设网入川备案网站