mirror of
https://github.com/vlang/v.git
synced 2025-09-15 15:32:27 +03:00
websocket: move library files to root of module
This commit is contained in:
parent
fa6aaad6df
commit
b28ab2511c
11 changed files with 30 additions and 59 deletions
124
vlib/net/websocket/examples/client.v
Normal file
124
vlib/net/websocket/examples/client.v
Normal file
|
@ -0,0 +1,124 @@
|
|||
module main
|
||||
|
||||
import (
|
||||
net.websocket
|
||||
eventbus
|
||||
time
|
||||
readline
|
||||
term
|
||||
benchmark
|
||||
)
|
||||
|
||||
const (
|
||||
eb = eventbus.new()
|
||||
)
|
||||
#flag -I $PWD
|
||||
#include "utf8.h"
|
||||
|
||||
fn C.utf8_validate_str() bool
|
||||
fn main(){
|
||||
//println(sss)
|
||||
/* for sss in 0..10 {
|
||||
mut bm := benchmark.new_benchmark()
|
||||
for i in 0..10000 {
|
||||
for a, t in tests {
|
||||
ss := ws.utf8_validate(t.str, t.len)
|
||||
if !ss {
|
||||
panic("failed")
|
||||
}
|
||||
//println("${a}:${ss}")
|
||||
}
|
||||
}
|
||||
bm.stop()
|
||||
println( bm.total_message('remarks about the benchmark') )
|
||||
} */
|
||||
mut ws := websocket.new("ws://localhost:9001/getCaseCount")
|
||||
//defer { }
|
||||
ws.subscriber.subscribe("on_open", on_open)
|
||||
ws.subscriber.subscribe("on_message", on_message)
|
||||
ws.subscriber.subscribe("on_error", on_error)
|
||||
ws.subscriber.subscribe("on_close", on_close)
|
||||
//go
|
||||
ws.connect()
|
||||
ws.read()
|
||||
//time.usleep(2000000)
|
||||
//go ws.listen()
|
||||
//term.erase_clear()
|
||||
/* text := read_line("[client]:")
|
||||
if text == "close" {
|
||||
ws.close(1005, "done")
|
||||
time.usleep(1000000)
|
||||
exit(0)
|
||||
}
|
||||
ws.write(text, .text_frame) */
|
||||
/* time.usleep(1000000)
|
||||
ws.read() */
|
||||
//ws.close(1005, "done")
|
||||
/*
|
||||
*/
|
||||
//ws.close(1005, "done")
|
||||
//read_line("wait")
|
||||
}
|
||||
|
||||
fn read_line(text string) string {
|
||||
mut r := readline.Readline{}
|
||||
mut output := r.read_line(text + " ") or {
|
||||
panic(err)
|
||||
}
|
||||
output = output.replace("\n","")
|
||||
if output.len <= 0 {
|
||||
return ""
|
||||
}
|
||||
return output
|
||||
}
|
||||
|
||||
fn on_open(params eventbus.Params){
|
||||
println("websocket opened.")
|
||||
}
|
||||
|
||||
fn on_message(params eventbus.Params){
|
||||
println("Message recieved. Sending it back.")
|
||||
typ := params.get_string("type")
|
||||
len := params.get_int("len")
|
||||
mut ws := params.get_caller(ws.Client{})
|
||||
if typ == "string" {
|
||||
message := params.get_string("payload")
|
||||
if ws.uri.ends_with("getCaseCount") {
|
||||
num := message.int()
|
||||
ws.close(1005, "done")
|
||||
start_tests(mut ws, num)
|
||||
return
|
||||
}
|
||||
//println("Message: " + message)
|
||||
ws.write(message.str, len, .text_frame)
|
||||
} else {
|
||||
println("Binary message.")
|
||||
message := params.get_raw("payload")
|
||||
ws.write(message, len, .binary_frame)
|
||||
}
|
||||
}
|
||||
|
||||
fn start_tests(ws mut ws.Client, num int) {
|
||||
for i := 1; i < num; i++ {
|
||||
println("Running test: " + i.str())
|
||||
ws.uri = "ws://localhost:9001/runCase?case=${i.str()}&agent=vws/1.0a"
|
||||
if ws.connect() >= 0 {
|
||||
ws.listen()
|
||||
}
|
||||
}
|
||||
println("Done!")
|
||||
ws.uri = "ws://localhost:9001/updateReports?agent=vws/1.0a"
|
||||
if ws.connect() >= 0 {
|
||||
ws.read()
|
||||
ws.close(1000, "disconnecting...")
|
||||
}
|
||||
exit(0)
|
||||
}
|
||||
|
||||
fn on_close(params eventbus.Params){
|
||||
println("websocket closed.")
|
||||
}
|
||||
|
||||
fn on_error(params eventbus.Params){
|
||||
println("we have an error.")
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue