摘要:
package main; import ( "net" "fmt" "bufio" ) //里面的代码部分参考cmu440课程 //https://github.com/cmu440/p0 //广播服务器接口 type MultiEchoServer interface { //开始 Start( 阅读全文
摘要:
1、下载protobuf的编译器protoc 地址: window: 下载: protoc-3.3.0-win32.zip 解压,把bin目录下的protoc.exe复制到GOPATH/bin下,GOPATH/bin加入环境变量。 当然也可放在其他目录,需加入环境变量,能让系统找到protoc.ex 阅读全文
摘要:
os中一些常用函数的使用: os中一些常用文件函数的使用: os中关于进程的操作: 阅读全文
摘要:
package main; import ( "os/user" "fmt" ) func main() { //返回当前用户的结构 u, _ := user.Current(); fmt.Println(u.Name); //用户主目录 fmt.Println(u.HomeDir); //用户名 阅读全文
摘要:
package main; import ( "os" "os/signal" "fmt" ) //signal包中提供了两个函数 //Notifyf()用于监听信号 //Stop()用于停止监听 func main() { ch := make(chan os.Signal); //notify用于监听信号 //参数1表示接收信号的channel //参数2及后面的表示要... 阅读全文
摘要:
package main; import ( "os/exec" "fmt" "io/ioutil" "bytes" ) func main() { //在环境变量path中查找可执行二进制文件 //返回完整路径或者相对于当前目录的一个相对路径 file, _ := exec.LookPath("go"); fmt.Println(file); //返回一个cmd cm... 阅读全文
摘要:
view对象的详细文档请看: demo9.html代码如下: demo9.go代码如下: 显示结果如下: 关于选择文件,选择目录,无法使用的说明。 由于sciter的更新,默认情况下已禁用非安全脚本功能。 阅读全文
摘要:
详细的文档请看下面两个链接: demo8.html代码如下: 由于html中使用了tiscript,所以如果要调试,只能使用sciter-sdk中自带的调试工具,进行调试。 在sciter-sdk下找到bin\64\sciter.exe和inspector.exe这两个文件,拷贝到你指定的位置,注意 阅读全文
摘要:
有些时候我们需要动态的给某个UI元素加载内容或数据。 demo6.go代码如下: demo6.html代码如下: 阅读全文
摘要:
有些时候我们需要创建的应用窗口大小不可改变。 demo5.go代码如下: demo5.html代码如下: 关于编译生成exe后,打开出现黑框,请用如下命令进行编译: 阅读全文
摘要:
sciter处理脚本tiscript,用于处理UI交互中的一些逻辑,跟js很像,但又有点区别,对前端熟悉的人应该能很快上手。 tiscrip脚本文档 dom类文档 demo4.go代码如下: demo4.html代码如下: 阅读全文
摘要:
我们可以通过go-sciter给我们提供的方法,方便的对html,css编写的UI界面进行增删改查。 demo3.go代码如下: 阅读全文
摘要:
我们使用go-sciter,就不得不提Sciter,Sciter 是一个嵌入式的 HTML/CSS/脚本引擎,旨在为桌面应用创建一个 UI 框架层。 说简单点就是我们通过它可以像写html,css那样写桌面UI。 一、环境准备 第一步:从https://sciter.com/download/地址下 阅读全文
摘要:
一、基于http的RPC 服务端: 客户端: 二、基于tcp的RPC 服务端: 客户端: 三、JSON RPC 方式 jsonrpc方式是数据编码采用了json,而不是gob编码。 服务端: 客户端: 阅读全文
摘要:
我们通过使用如下库创建websocket服务 websocket服务端的代码如下: html客户端代码如下: json格式: 阅读全文
摘要:
udp与tcp的不同在于客户端请求方式不同,udp缺少Accept函数。 一个简单的udp客户端: udp服务端代码: 阅读全文
摘要:
一、通过socket我们模拟请求网易 二、通过socket创建简单的服务端 通过xshell的telnet方法测试。 三、改进上面的代码,使用goroutine来处理用户的请求 四、连续的处理客户端发送的请求,根据cmd命令不同,返回不同数据。 阅读全文
摘要:
package main; import ( "os" "log" "time" "fmt" ) //一些常用的文件操作函数 func main() { //创建目录 //perm权限设置,os.ModePerm为0777 err := os.Mkdir("./tmp", os.ModePerm); if err != nil { log.Fatal(err); } ... 阅读全文
摘要:
package main; import ( "html/template" "os" "fmt" ) type Person struct { Id string; UserName string; Age int; Contact map[string]string; } func (p Person) Say(msg string) string... 阅读全文
摘要:
uploadOne.html代码如下: uploadMore.html代码如下: main.go代码如下: 通过http://127.0.0.1:9090/uploadOne和http://127.0.0.1:9090/upladMore来测试文件上传。 阅读全文