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

建站公司兴田德润好不好苏州网站推广建设

建站公司兴田德润好不好,苏州网站推广建设,深圳有没有做网站的,怎样创业白手起家开公司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://www.hkea.cn/news/14362633/

相关文章:

  • 神木自适应网站开发网站的用户注册怎么做
  • 找人做网站要密码吗网站建设20推广
  • 微信引流推广网站建设公司管理系统包括
  • windows2008网站新手怎么做seo
  • 商务网站规划与建设心得wordpress open social
  • 可以做外包的网站商城网站建设预算
  • seo推广名词解释seo免费自学的网站
  • 滕州网站建设网站行吗丰收路网站建设
  • 为什么网站权重会掉校园网站建设促进教学
  • 网站名称在哪里注册职业培训机构排名前十
  • 做网站的傻瓜软件做网站用lunx
  • 网站制作论文范文购物网站建设收费
  • 手机网站二级域名学生校园网站模板
  • 网站公司大全怎样进WordPress
  • 网站建设迅雷微信扫码关注登陆wordpress
  • 仿牌网站建设东莞网站建设 信科网络
  • vs网站开发平台如何使用seo进行综合查询
  • 搭建网站多少费用汽车之家网站系统是什么做的
  • wordpress完全单页东莞网站优化排名网站
  • 江苏省建设档案网站学网页设计需要什么学历
  • 企业cms建站系统营销网站建设服务平台
  • 深圳住房和建设局网站认租申请佛山市品牌网站建设哪家好
  • 一个dede管理两个网站dw做网站一般是多大的尺寸
  • 扬州市城市建设监察支队网站互联网行业发展
  • 专业做尼泊尔的旅行网站做视频播放网站 赚钱
  • 淘宝客网站怎么推广网站建设服务合同 印花税
  • 增加网站和接入备案吗开发公司对代理公司管理
  • 构建网站空间电话怎么做网站推广
  • discuz 做视频网站长沙建设教育网官网
  • 元素网站平台搭建app开发