zoukankan      html  css  js  c++  java
  • http网络编程

    一、Go语言实现TCP通信

    1、tcp服务端

    一个TCP服务端可以同时连接很多个客户端,例如世界各地的用户使用自己电脑上的浏览器访问淘宝网。因为Go语言中创建多个goroutine实现并发非常方便和高效,所以我们可以每建立一次链接就创建一个goroutine去处理。

    TCP服务端程序的处理流程:

    1. 监听端口
    2. 接收客户端请求建立链接
    3. 创建goroutine处理链接。
    package main
    
    import (
    	"fmt"
    	"net"
    	"os"
    )
    
    func errFunc(err error,info string){
    	if err !=nil{
    		fmt.Println(info,err)
    		os.Exit(1) //将当前进程结束
    	}
    }
    func main(){
    	listen,err :=net.Listen("tcp","127.0.0.1:8000")
    	errFunc(err,"connet net failed")
    	defer listen.Close()
    
    	conn,err :=listen.Accept()
    	errFunc(err,"Accept err")
    	defer conn.Close()
    
    	buf :=make([]byte,4096)
    	n,err :=conn.Read(buf)
    	if n ==0{
    		return
    	}
    	errFunc(err,"conn Read")
    	fmt.Println(string(buf[:n]))
    
    	conn.Write([]byte(string(buf[:n]))) // 发送数据
    
    }
    

    http请求包:

    请求行:请求方法(空格)请求文件URL(空格)协议版本
    请求头:语法格式:key:value
    空行: ---请求
    请求包体

  • 相关阅读:
    flex兼容写法
    多行文字,最后一行省略号(适用于移动端)
    checkbox样式修改
    响应式布局
    微信常用的页面跳转
    css小技巧(清除滚动条)
    JS学习---PHP浅识
    qml 画页迁移
    list滚动条Scroll 偏移和长度计算公式总结
    qml listview关键字高亮
  • 原文地址:https://www.cnblogs.com/wuchangblog/p/15116758.html
Copyright © 2011-2022 走看看