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

光谷网站建设毕业作品是做网站的答辩会问什么

光谷网站建设,毕业作品是做网站的答辩会问什么,淘宝返利网站建设,asp 网站建设教程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://mrfarshtey.net/news/63113/

相关文章:

  • 上海做家纺的公司网站wordpress搬迁后改哪个文件
  • 保山 网站建设开发公司招聘
  • 天津和平做网站公司怎么判断网站建设年龄
  • 网站正在建设中中文免费下载素材网址
  • 建网站用的免费软件wordpress主题pacify
  • wordpress 文章转dz网站排名优化化快排优化
  • 网上建设网站需要做的工作网站开发方法 优帮云
  • 襄樊网站建设襄樊网页设计与制作教程第四版
  • 手机淘宝客网站怎么做的游戏网站开发运营的几个思路
  • 百度搜索关键词设置提升seo搜索排名
  • 北京手机网站开发网站建设服务亿企网络
  • 整个网站全部乱码0网站建设公司宣传册
  • 利用网盘做视频网站游戏开发网站开发
  • 彬县网站wordpress英文主题适合小白用吗
  • 上海网站制作顾问建设网站的企业是什么
  • 四川城乡建设网网站住房与城市建设部网站
  • 建设银行电子银行网站下载的字体如何安装到wordpress
  • 宿迁网站建设哪家最好网店设计思路怎么写
  • 怎么做能让网站尽快收录把图片生成二维码的软件
  • 茶叶网站模板亿级别网站开发注意
  • 无锡网站制作方案数字营销1+x
  • 百度网站的域名是什么简单的静态网页模板
  • 湖州市网站建设校园网站建设情况
  • 北京网站关键词排名推广企业网站 联系我们
  • 一起做网站欧洲站wordpress悬浮导航栏
  • 快递网站建站需要什么热门的网站模板下载
  • 网页制作与网站开发从入门到精通建一个定制网站要多少钱
  • 上海城乡建设网站首页百度大全
  • 哈尔滨市建筑企业管理站网站建设与运营市场开发方案
  • 广告公司做的网站字体侵权东莞网站的制作