comparison go/client.go @ 8:82f9af6aa7e4

add net.cpp
author pyon@macmini
date Tue, 30 Oct 2018 17:26:02 +0900
parents 29829e98d510
children 240752cbe11b
comparison
equal deleted inserted replaced
7:29829e98d510 8:82f9af6aa7e4
1 /* 1 /*
2 client.go : client-program. 2 client.go : client-program.
3 Version : 1.1 3 Version : 1.2
4 Last Change: 2018-10-24 水 17:21:52. 4 Last Change: 2018-10-30 火 09:13:24.
5 5
6 install to: rsearcher_root/ 6 install to: rsearcher_root/
7 7
8 rsearcher_root/client.exe 8 rsearcher_root/client.exe
9 + grsearcher.exe 9 + grsearcher.exe
14 + index.db ( 10 days ) 14 + index.db ( 10 days )
15 + image/*.png, *.jpg 15 + image/*.png, *.jpg
16 + doc/ 16 + doc/
17 + .cache/* ( temporary ) 17 + .cache/* ( temporary )
18 18
19 $ client.exe -r 192.168.0.1:3910 # get new release 19 $ client.exe -r 192.168.0.1:3910 # get new release
20 $ client.exe -u 192.168.0.1:3910 # get new dbs 20 $ client.exe -u 192.168.0.1:3910 # get new dbs
21 $ client.exe 192.168.0.1:3910 0800012345 20171231 # get images 21 $ client.exe 192.168.0.1:3910 0800012345 20171231 # get images
22 $ client.exe -a 192.168.0.1:3910 upfile.txt # upload file
22 */ 23 */
23 package main 24 package main
24 25
25 import ( 26 import (
26 "archive/tar" 27 "archive/tar"
39 ) 40 )
40 41
41 var version string 42 var version string
42 43
43 func init() { 44 func init() {
44 version = "1.1" 45 version = "1.2"
45 } 46 }
46 47
47 func main() { 48 func main() {
48 var upgrade = flag.Bool( "r", false, "" ) // get grsearcher.exe, crypto.exe client.exe 49 var upgrade = flag.Bool( "r", false, "" ) // get grsearcher.exe, crypto.exe client.exe
49 var update = flag.Bool( "u", false, "" ) // get auth.db, hhs.db, index.db(14,28) 50 var update = flag.Bool( "u", false, "" ) // get auth.db, hhs.db, index.db(14,28)
50 var upload = flag.Bool( "a", false, "" ) // post somefile 51 var upload = flag.Bool( "a", false, "" ) // post somefile
52 var cnttime = flag.Bool( "t", false, "" ) // count time
51 var printver = flag.Bool( "v", false, "" ) // print version 53 var printver = flag.Bool( "v", false, "" ) // print version
52 flag.Parse() 54 flag.Parse()
53 55
54 // print version 56 // print version
55 if *printver { 57 if *printver {
56 fmt.Println( "client ( version ", version, ")" ) 58 fmt.Println( "client [ ver", version, "]" )
57 os.Exit( 0 ) 59 os.Exit( 0 )
58 } 60 }
61
62 st := time.Now() // start time
59 63
60 // upload 64 // upload
61 if *upload { 65 if *upload {
62 if flag.NArg() != 2 { 66 if flag.NArg() != 2 {
63 fmt.Fprintf( os.Stderr, "bad host or file.\n" ) 67 fmt.Fprintf( os.Stderr, "bad host or file.\n" )
78 } 82 }
79 defer res.Body.Close() 83 defer res.Body.Close()
80 message, _ := ioutil.ReadAll( res.Body ) 84 message, _ := ioutil.ReadAll( res.Body )
81 fmt.Println( string( message ) ) 85 fmt.Println( string( message ) )
82 86
87 if *cnttime {
88 fmt.Println( "---", time.Now().Sub( st ) )
89 }
83 os.Exit( 0 ) 90 os.Exit( 0 )
84 } 91 }
85 92
86 // software upgrade 93 // software upgrade
87 if *upgrade { 94 if *upgrade {
100 } 107 }
101 fmt.Print( "Getting client.exe..." ) 108 fmt.Print( "Getting client.exe..." )
102 if _, err := get_file( host, "/release/client.exe", "client1.exe" ); err != nil { 109 if _, err := get_file( host, "/release/client.exe", "client1.exe" ); err != nil {
103 log.Fatal( err ) 110 log.Fatal( err )
104 } 111 }
112 if *cnttime {
113 fmt.Println( "---", time.Now().Sub( st ) )
114 }
105 os.Exit( 0 ) 115 os.Exit( 0 )
106 } 116 }
107 117
108 // database update 118 // database update
109 if *update { 119 if *update {
125 fmt.Print( "Getting index.db..." ) 135 fmt.Print( "Getting index.db..." )
126 if _, err := get_file( host, "/db/index.db", "index.db" ); err != nil { 136 if _, err := get_file( host, "/db/index.db", "index.db" ); err != nil {
127 log.Fatal( err ) 137 log.Fatal( err )
128 } 138 }
129 } 139 }
140
141 if *cnttime {
142 fmt.Println( "---", time.Now().Sub( st ) )
143 }
130 os.Exit( 0 ) 144 os.Exit( 0 )
131 } 145 }
132 146
133 // main : image download 147 // main : image download
134 if flag.NArg() != 3 { 148 if flag.NArg() != 3 {
156 log.Fatal( err ) 170 log.Fatal( err )
157 } 171 }
158 if err := untgz_images( d, b ); err != nil { 172 if err := untgz_images( d, b ); err != nil {
159 log.Fatal( err ) 173 log.Fatal( err )
160 } 174 }
175
176 if *cnttime {
177 fmt.Println( "---", time.Now().Sub( st ) )
178 }
161 } 179 }
162 180
163 /* Subroutines */ 181 /* Subroutines */
164 // HTTP GET 182 // HTTP GET
165 func get_file( host, rfile, lfile string ) ( []byte, error ) { 183 func get_file( host, rfile, lfile string ) ( []byte, error ) {