lib/socket: update examples to the latest API
authorAlexis Laferrière <alexis.laf@xymus.net>
Mon, 22 Dec 2014 03:38:18 +0000 (22:38 -0500)
committerAlexis Laferrière <alexis.laf@xymus.net>
Tue, 23 Dec 2014 15:57:34 +0000 (10:57 -0500)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/socket/examples/socket_client.nit
lib/socket/examples/socket_server.nit

index b488028..3f38ab4 100644 (file)
@@ -21,18 +21,23 @@ import socket
 
 if args.length < 2 then
        print "Usage : socket_client <host> <port>"
-       return
+       exit 1
 end
 
-var s = new Socket.client(args[0], args[1].to_i)
-print "[HOST ADDRESS] : {s.address}"
-print "[HOST] : {s.host or else "unamed"}"
-print "[PORT] : {s.port}"
-print "Connecting ... {s.connected}"
+var address = args[0]
+var port = args[1].to_i
+
+# Open a conection with the server
+var s = new TCPStream.connect(address, port)
+printn "Connecting to {s.host}:{s.port} at {s.address}... "
+print if s.connected then "Connected" else "Connection failed"
+
 if s.connected then
-       print "Writing ... Hello server !"
-       s.write("Hello server !")
-       print "[Response from server] : {s.read(100)}"
-       print "Closing ..."
+       # Communicate
+       s.write "Hello server!\n"
+       print s.read_line
+       s.write "Bye server!\n"
+       print s.read_line
+
        s.close
 end
index c435320..17bfcab 100644 (file)
@@ -24,27 +24,31 @@ if args.is_empty then
        return
 end
 
-var socket = new Socket.server(args[0].to_i, 1)
+var socket = new TCPServer(args[0].to_i)
+socket.listen 1
 print "[PORT] : {socket.port.to_s}"
 
-var clients = new Array[Socket]
+var clients = new Array[TCPStream]
 var max = socket
 loop
        var fs = new SocketObserver(true, true, true)
-       fs.readset.set(socket)
+       fs.read_set.add socket
 
-       for c in clients do fs.readset.set(c)
+       for c in clients do fs.read_set.add c
 
+       printn "."
        if fs.select(max, 4, 0) == 0 then
                print "Error occured in select {sys.errno.strerror}"
                break
        end
 
-       if fs.readset.is_set(socket) then
+       if fs.read_set.has(socket) then
                var ns = socket.accept
                print "Accepting {ns.address} ... "
-               print "[Message from {ns.address}] : {ns.read(100)}"
-               ns.write("Goodbye client.")
+               print "[Message from {ns.address}] : {ns.read_line}"
+               ns.write "Hello client.\n"
+               print "[Message from {ns.address}] : {ns.read_line}"
+               ns.write "Bye client.\n"
                print "Closing {ns.address} ..."
                ns.close
        end