initial commit

Gotta start somewhere.

git-svn-id: file:///srv/svn/repo/tokiko/trunk@1 8f5ca974-a7f8-e144-9f80-d41d5039c194
This commit is contained in:
shokara 2021-12-23 16:33:04 +00:00
commit 0c323ed7f1
3 changed files with 66 additions and 0 deletions

2
Gophermap Normal file
View File

@ -0,0 +1,2 @@
iGophermap test file Err localhost 7070
0Server source file /main.go localhost 7070

5
README Normal file
View File

@ -0,0 +1,5 @@
Thomomys
========
A simple gopher daemon written in Golang.
So far it can serve Gophermap on the directory the server is run from.

59
main.go Normal file
View File

@ -0,0 +1,59 @@
package main
import (
"bufio"
// "fmt"
"io/ioutil"
"log"
"net"
"os"
)
func connHandle(c net.Conn) {
data, err := bufio.NewReader(c).ReadString('\n')
if err != nil {
log.Fatal(err)
return
}
if string(data) == "\r\n" {
file, err := os.Open("Gophermap")
if err != nil {
log.Fatal(err)
}
defer func() {
if err = file.Close(); err != nil {
log.Fatal(err)
}
}()
content, err := ioutil.ReadAll(file)
c.Write([]byte(content))
c.Write([]byte(".\r\n"))
}
}
func main() {
HOST := "0.0.0.0"
PORT := "7070"
ADDR := HOST + ":" + PORT
log.Printf("Starting thomomys on %s\n", ADDR)
l, err := net.Listen("tcp", ADDR)
if err != nil {
log.Fatal(err)
return
}
defer l.Close()
for {
c, err := l.Accept()
if err != nil {
log.Fatal(err)
return
}
go connHandle(c)
}
}