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

网站备案局网站建设与维护教程

网站备案局,网站建设与维护教程,wordpress aliyunoss,免费制作图文广告的软件Go 语言提供了强大的网络编程能力#xff0c;包括 TCP、UDP、HTTP、WebSocket 等协议的支持。下面是 Go 语言中常用的网络操作#xff1a; TCP 通信 使用 net 包进行 TCP 通信#xff0c;可以创建 TCP 客户端和服务器。 客户端使用 net.Dial 方法连接到指定的 TCP 地址包括 TCP、UDP、HTTP、WebSocket 等协议的支持。下面是 Go 语言中常用的网络操作 TCP 通信 使用 net 包进行 TCP 通信可以创建 TCP 客户端和服务器。 客户端使用 net.Dial 方法连接到指定的 TCP 地址并使用返回的连接对象进行通信。 服务器使用 net.Listen 方法监听指定的 TCP 地址接受客户端连接并使用返回的连接对象进行通信。 TCP 客户端 package mainimport (fmtnet )func main() {// 连接到 TCP 服务器conn, err : net.Dial(tcp, localhost:8080)if err ! nil {fmt.Println(无法连接到服务器:, err)return}defer conn.Close()// 发送数据message : Hello, TCP server!_, err conn.Write([]byte(message))if err ! nil {fmt.Println(发送数据失败:, err)return}// 接收服务器响应buffer : make([]byte, 1024)n, err : conn.Read(buffer)if err ! nil {fmt.Println(接收响应失败:, err)return}fmt.Println(服务器响应:, string(buffer[:n])) }TCP 服务器 package mainimport (fmtnet )func main() {// 监听 TCP 连接listener, err : net.Listen(tcp, localhost:8080)if err ! nil {fmt.Println(无法监听端口:, err)return}defer listener.Close()fmt.Println(等待客户端连接...)for {// 接受客户端连接conn, err : listener.Accept()if err ! nil {fmt.Println(接受连接失败:, err)continue}// 处理客户端请求go handleClient(conn)} }func handleClient(conn net.Conn) {defer conn.Close()// 接收客户端数据buffer : make([]byte, 1024)n, err : conn.Read(buffer)if err ! nil {fmt.Println(读取数据失败:, err)return}fmt.Println(接收到客户端数据:, string(buffer[:n]))// 发送响应给客户端response : Hello, TCP client!_, err conn.Write([]byte(response))if err ! nil {fmt.Println(发送响应失败:, err)return} }UDP 通信 使用 net 包进行 UDP 通信可以创建 UDP 客户端和服务器。 客户端使用 net.DialUDP 方法连接到指定的 UDP 地址并使用返回的连接对象进行通信。 服务器使用 net.ListenUDP 方法监听指定的 UDP 地址接收客户端发送的数据并使用返回的连接对象进行通信。 UDP 客户端 package mainimport (fmtnet )func main() {// 连接到 UDP 服务器conn, err : net.Dial(udp, localhost:8080)if err ! nil {fmt.Println(无法连接到服务器:, err)return}defer conn.Close()// 发送数据message : Hello, UDP server!_, err conn.Write([]byte(message))if err ! nil {fmt.Println(发送数据失败:, err)return} }UDP 服务器 package mainimport (fmtnet )func main() {// 监听 UDP 连接addr, err : net.ResolveUDPAddr(udp, localhost:8080)if err ! nil {fmt.Println(无法解析地址:, err)return}conn, err : net.ListenUDP(udp, addr)if err ! nil {fmt.Println(无法监听端口:, err)return}defer conn.Close()fmt.Println(等待客户端连接...)// 接收客户端数据buffer : make([]byte, 1024)n, addr, err : conn.ReadFromUDP(buffer)if err ! nil {fmt.Println(读取数据失败:, err)return}fmt.Println(接收到客户端数据:, string(buffer[:n]))// 发送响应给客户端response : Hello, UDP client!_, err conn.WriteToUDP([]byte(response), addr)if err ! nil {fmt.Println(发送响应失败:, err)return} }HTTP通信 HTTP 客户端 使用 net/http 包进行 HTTP 客户端编程可以发送 HTTP 请求并接收响应。 使用 http.Get、http.Post 等方法发送不同类型的 HTTP 请求。 可以通过设置请求头、请求方法、请求体等来定制请求并使用响应对象获取服务器的响应数据。 发起 HTTP GET 请求 package mainimport (fmtio/ioutilnet/http )func main() {// 发送 GET 请求response, err : http.Get(http://localhost:8080)if err ! nil {fmt.Println(发送请求失败:, err)return}defer response.Body.Close()// 读取响应内容body, err : ioutil.ReadAll(response.Body)if err ! nil {fmt.Println(读取响应失败:, err) return}fmt.Println(服务器响应:, string(body)) }发起 HTTP POST 请求 package mainimport (bytesfmtnet/httpio/ioutil )func main() {url : https://jsonplaceholder.typicode.com/posts // 要发送 POST 请求的网址payload : []byte({title: foo, body: bar, userId: 1})resp, err : http.Post(url, application/json, bytes.NewBuffer(payload))if err ! nil {fmt.Println(HTTP POST 请求失败:, err)return}defer resp.Body.Close()body, err : ioutil.ReadAll(resp.Body)if err ! nil {fmt.Println(读取响应体失败:, err)return}fmt.Println(POST 响应, string(body)) }发起 HTTP PUT 请求 package mainimport (bytesfmtnet/httpio/ioutil )func main() {url : https://jsonplaceholder.typicode.com/posts/1 // 要更新的资源网址payload : []byte({id: 1, title: foo, body: bar, userId: 1})req, err : http.NewRequest(PUT, url, bytes.NewBuffer(payload))req.Header.Set(Content-Type, application/json)client : http.Client{}resp, err : client.Do(req)if err ! nil {fmt.Println(HTTP PUT 请求失败:, err)return}defer resp.Body.Close()body, err : ioutil.ReadAll(resp.Body)if err ! nil {fmt.Println(读取响应体失败:, err)return}fmt.Println(PUT 响应, string(body)) }HTTP 服务器 使用 net/http 包进行 HTTP 服务器编程可以创建一个 HTTP 服务器来处理客户端的请求。 使用 http.HandleFunc 方法来注册处理不同路由的处理函数或者使用自定义的 http.Handler 对象处理请求。 可以通过设置路由和处理逻辑来实现 RESTful API、静态文件服务等功能。 package mainimport (fmtnet/http )func main() {// 注册处理函数http.HandleFunc(/, func(w http.ResponseWriter, r *http.Request) {fmt.Fprint(w, Hello, HTTP client!)})// 启动 HTTP 服务器err : http.ListenAndServe(:8080, nil)if err ! nil {fmt.Println(启动服务器失败:, err)return} }WebSocket 通信 使用 net/http 包进行 WebSocket 通信可以创建一个 WebSocket 服务器和客户端。 服务器可以使用 http.HandleFunc 方法来注册 WebSocket 的处理函数处理客户端的连接和消息。 客户端可以使用 gorilla/websocket 等第三方库来建立 WebSocket 连接并进行消息的发送和接收。 WebSocket 服务器 package mainimport (fmtlognet/httpgithub.com/gorilla/websocket )func main() {// 注册 WebSocket 处理函数http.HandleFunc(/, handleWebSocket)// 启动 WebSocket 服务器err : http.ListenAndServe(:8080, nil)if err ! nil {log.Fatal(启动服务器失败:, err)} }func handleWebSocket(w http.ResponseWriter, r *http.Request) {// 升级 HTTP 连接为 WebSocket 连接upgrader : websocket.Upgrader{}conn, err : upgrader.Upgrade(w, r, nil)if err ! nil {log.Println(升级连接失败:, err)return}defer conn.Close()fmt.Println(客户端已连接)// 处理 WebSocket 消息for {// 读取消息_, message, err : conn.ReadMessage()if err ! nil {log.Println(读取消息失败:, err)break}fmt.Println(接收到消息:, string(message))// 发送消息err conn.WriteMessage(websocket.TextMessage, []byte(Hello, WebSocket client!))if err ! nil {log.Println(发送消息失败:, err)break}}fmt.Println(客户端已断开连接) }WebSocket 客户端使用 JavaScript const socket new WebSocket(ws://localhost:8080);// 连接建立时触发 socket.onopen function() {console.log(连接已建立);// 发送消息socket.send(Hello, WebSocket server!); };// 接收消息时触发 socket.onmessage function(event) {console.log(接收到消息:, event.data); };// 连接关闭时触发 socket.onclose function(event) {console.log(连接已关闭); };
http://wiki.neutronadmin.com/news/254602/

相关文章:

  • 帮别人做网站赚钱吗全屏的网站
  • 公司网站用什么语言开发高度国际装饰公司官网
  • 东莞网站推广运营公司如何申请个人网站域名
  • 茶叶网站模板做外贸网站注意事项
  • 有什么做分销的几个网站wordpress 制作模板
  • 网站被电脑管家拦截做301跳转网页设计公司上市公司
  • 福州建设人才网站房子装修设计图片大全
  • 网上书城网站开发环境江西省做网站
  • 台州哪家做企业网站比较好wordpress新框架vue
  • wiz wordpressphp网站开发优化
  • 如何在阿里巴巴建设网站网站引导视频怎么做
  • 只做早餐的网站网站备案最多需要多久
  • 门户网站维护方案百度浏览器网址大全
  • 网站核验单dw个人网页制作模板源代码
  • 网站建站的标准久久建筑网登录入口
  • 网站安全检测网站赚钱软件app
  • 谁家网站做的好mssql网站开发
  • 临海建设银行网站网站建设政务新媒体
  • 优秀网站设计 打造有吸引力的网站wordpress页面显示分类目录
  • 西安网站建设l西安搜推宝网络wordpress会员充值管理系统
  • 做网站引用没有版权的歌曲网站建设集团
  • 如何选择网站改版公司易语言网站做软件
  • 怎么查看网站是否备案手机靓号网站制作
  • wap网站 劣势网站总是跳转dede58
  • 建设信用卡银行积分兑换商城网站建设部执业资格网站
  • h5网站有哪些可以查授权的网站怎么做
  • 做网站的图片=gif私密浏览器有哪些
  • 怎样做网站ppt深圳网络做网站
  • 做商品网站宿州市网站建设有哪些公司
  • 东明菏泽网站建设网站免费下载安装