mirror of
https://github.com/statbate/supreme-disco.git
synced 2026-08-11 03:22:41 +00:00
update
This commit is contained in:
parent
9fe159f6f3
commit
12e5ac6f68
5 changed files with 242 additions and 0 deletions
42
server/socket.go
Normal file
42
server/socket.go
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
)
|
||||
|
||||
func removeSocket(s string) {
|
||||
if _, err := os.Stat(s); err == nil {
|
||||
os.Remove(s)
|
||||
}
|
||||
}
|
||||
|
||||
func startSocket() {
|
||||
const SOCK = "/tmp/echo.sock"
|
||||
removeSocket(SOCK)
|
||||
listener, err := net.Listen("unix", SOCK)
|
||||
if err != nil {
|
||||
log.Fatal("Listen (echo socket): ", err)
|
||||
}
|
||||
defer listener.Close()
|
||||
for {
|
||||
conn, err := listener.Accept()
|
||||
if err != nil {
|
||||
log.Fatal("accept error:", err)
|
||||
}
|
||||
go socketHandler(conn)
|
||||
}
|
||||
}
|
||||
|
||||
func socketHandler(conn net.Conn) {
|
||||
defer conn.Close()
|
||||
buf := make([]byte, 512)
|
||||
for {
|
||||
n, err := conn.Read(buf)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
ws.Send <- wsMessage{Message: buf[0:n], Decode: true}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue