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

网站排名套餐高中网站建设课程

网站排名套餐,高中网站建设课程,零基础怎么学平面设计,网站平台建设包括哪些目录标题 一、Json序列化与反序列化1. 序列化2. 反序列化 二、Goto语法三、Tcp Socket1. 单客户端发送信息到服务端2. 服务端客户端通信 一、Json序列化与反序列化 1. 序列化 package mainimport (encoding/jsonfmt)type Person struct {Name string… 目录标题 一、Json序列化与反序列化1. 序列化2. 反序列化 二、Goto语法三、Tcp Socket1. 单客户端发送信息到服务端2. 服务端客户端通信 一、Json序列化与反序列化 1. 序列化 package mainimport (encoding/jsonfmt)type Person struct {Name string json:nameAge int json:ageEmail string json:email}func main() {person : Person{Name: LoisMay,Age: 21,Email: 1711031006qq.com,}// 序列化为 JSON 字节数组jsonData, err : json.Marshal(person)if err ! nil {fmt.Println(JSON 序列化错误:, err)return}// 打印 JSON 字符串fmt.Println(string(jsonData))// {name:LoisMay,age:21,email:1711031006qq.com}}2. 反序列化 func main() {Data : []byte({name:LoisMay,age:21,email:1711031006qq.com})// 反序列化为 Person 结构体var person Personerr : json.Unmarshal(Data, person)if err ! nil {fmt.Println(JSON 反序列化错误:, err)return}// 打印反序列化后的对象fmt.Println(person.Name)fmt.Println(person.Age)fmt.Println(person.Email)}二、Goto语法 goto 语句可以用来实现程序的无条件跳转但在实际开发中应该谨慎使用它因为滥用 goto 可能会导致代码结构混乱和可读性降低。package mainimport fmtfunc main() {var n 30fmt.Println(LoisMay)if n 20 {goto func1}fmt.Println(LoisMays)fmt.Println(LoisMayss)fmt.Println(LoisMaysss)func1:fmt.Println(666)fmt.Println(777)fmt.Println(888)}// LoisMay// 666// 777// 888三、Tcp Socket 1. 单客户端发送信息到服务端 Server.go package mainimport (bufiofmtnetstrings)func process(conn net.Conn) {defer conn.Close()reader : bufio.NewReader(conn)for {fmt.Printf(Server is waiting for client message from %s:\n, conn.RemoteAddr().String())massage, err : reader.ReadString(\n)if err ! nil {fmt.Printf(Client exited with error: %v\n, err)return}massage strings.Trim(massage, \r\n)fmt.Printf(Received message from client: %s\n, massage)// 服务端回复消息response : Server received: massage \n_, err conn.Write([]byte(response))if err ! nil {fmt.Printf(Error sending response to client: %v\n, err)return}}}func main() {fmt.Println(Server is Listen)listen, err : net.Listen(tcp, 0.0.0.0:8888)if err ! nil {fmt.Println(Listen err, err)return}defer listen.Close()for {fmt.Println(Waiting for client connection)conn, err : listen.Accept()if err ! nil {fmt.Println(Accept err, err)} else {fmt.Printf(Accepted connection from client: %v\n, conn.RemoteAddr().String())}go process(conn)}}Client.go package mainimport (bufiofmtnetosstrings)func main() {conn, err : net.Dial(tcp, 0.0.0.0:8888)if err ! nil {fmt.Println(Client dial error:, err)return}defer conn.Close()reader : bufio.NewReader(os.Stdin)for {fmt.Print(Enter message: )message, err : reader.ReadString(\n)if err ! nil {fmt.Println(ReadString error:, err)break}message strings.Trim(message, \r\n)if message exit {fmt.Println(Client is exiting)break}_, err conn.Write([]byte(message \n))if err ! nil {fmt.Println(Connection write error:, err)break}response, err : bufio.NewReader(conn).ReadString(\n)if err ! nil {fmt.Println(Read response error:, err)break}fmt.Println(Server response:, response)}}2. 服务端客户端通信 server.go package mainimport (bufiofmtnetosstrings)func handleClient(conn net.Conn) {defer conn.Close()reader : bufio.NewReader(conn)writer : bufio.NewWriter(conn)for {// 读取客户端消息message, err : reader.ReadString(\n)if err ! nil {fmt.Printf(Error reading client message: %v\n, err)return}message strings.Trim(message, \r\n)fmt.Printf(Received message from client: %s\n, message)// 回复客户端消息response : Server received: message \n_, err writer.WriteString(response)if err ! nil {fmt.Printf(Error sending response to client: %v\n, err)return}writer.Flush()// 检查客户端是否要退出if message exit {fmt.Println(Client is exiting)return}}}func main() {fmt.Println(Server is listening)listener, err : net.Listen(tcp, 0.0.0.0:8888)if err ! nil {fmt.Println(Listen error:, err)return}defer listener.Close()for {fmt.Println(Waiting for client connection)conn, err : listener.Accept()if err ! nil {fmt.Println(Accept error:, err)break}fmt.Println(Client connected:, conn.RemoteAddr().String())go handleClient(conn)// 启动一个 goroutine 处理服务端发送消息go func(c net.Conn) {reader : bufio.NewReader(os.Stdin)writer : bufio.NewWriter(c)for {// 从控制台读取输入fmt.Print(Enter message: )input, _ : reader.ReadString(\n)input strings.Trim(input, \r\n)// 发送消息给客户端_, err : writer.WriteString(input \n)if err ! nil {fmt.Printf(Error sending message to client: %v\n, err)return}writer.Flush()// 检查服务端是否要退出if input exit {fmt.Println(Server is exiting)return}}}(conn)}// 阻塞主线程使服务端持续运行-make(chan struct{})}Client.go package mainimport (bufiofmtnetosstrings)func handleServer(conn net.Conn) {defer conn.Close()reader : bufio.NewReader(conn)writer : bufio.NewWriter(conn)for {// 读取服务端消息message, err : reader.ReadString(\n)if err ! nil {fmt.Printf(Error reading server message: %v\n, err)return}message strings.Trim(message, \r\n)fmt.Printf(Received message from server: %s\n, message)// 检查服务端是否要退出if message exit {fmt.Println(Server is exiting)return}// 从控制台读取输入fmt.Print(Enter message: )input, _ : reader.ReadString(\n)input strings.Trim(input, \r\n)// 发送消息给服务端_, err writer.WriteString(input \n)if err ! nil {fmt.Printf(Error sending message to server: %v\n, err)return}writer.Flush()// 检查客户端是否要退出if input exit {fmt.Println(Client is exiting)return}}}func main() {conn, err : net.Dial(tcp, 127.0.0.1:8888)if err ! nil {fmt.Println(Client dial error:, err)return}fmt.Println(Connected to server)go handleServer(conn)// 从控制台读取输入reader : bufio.NewReader(os.Stdin)for {fmt.Print(Enter message: )input, _ : reader.ReadString(\n)input strings.Trim(input, \r\n)// 发送消息给服务端_, err conn.Write([]byte(input \n))if err ! nil {fmt.Printf(Error sending message to server: %v\n, err)return}// 检查客户端是否要退出if input exit {fmt.Println(Client is exiting)break}}conn.Close()}
http://www.w-s-a.com/news/36754/

相关文章:

  • 做网站一个月可以赚多少钱东营市建设工程招标网
  • 网站开发工具阿里云怎么做网站
  • 用html做静态网站成都专业logo设计公司
  • 哪里有免费建站平台233小游戏网页版在线玩
  • 为什么我的网站做不起来网站能搜索到
  • 方又圆网站建设信息流广告二级代理
  • 公司管理网站首页网站后台编辑框不显示
  • aspnet网站开发模板备案 网站建设方案书
  • 营销软件网站wordpress优秀的破解主题
  • 卧龙区网站建设国内漂亮网站欣赏
  • 服装 网站模板 wordpress石家庄做网站的公司有哪些
  • 惠州技术支持网站建设百度怎样注册免费的网站
  • 无锡哪里有做网站的公司泸州网站建设公司
  • 怎么进行网站推广jsp可以做那些小网站
  • 懒人手机网站wordpress修改秒速
  • WordPress资讯网站用花生壳做网站
  • 关于营销方面的网站建设网站怎么克隆
  • 站长网seo综合查询工具电商公司简介
  • 全能网站建设教程广告制作公司需要什么设备
  • 汽车行业做网站网站改版seo建议
  • 建设职业注册中心网站photoshop属于什么软件
  • 公司网站展示有哪些wordpress工单
  • iis新建网站seo是做什么工作的
  • 临沂网站建设厂家做外贸的女生现状
  • 电子商务网站建设实践临沂做网站的
  • 网站职能建设论文做外贸都有哪些网站
  • 网站建设项目需求分析房地产网站源码
  • 网站充值提现公司账务怎么做中国能建设计公司网站
  • 网站信息资源建设包括哪些网站网站做维护
  • 网站性能优化的方法有哪些建设施工合同网站