From: Alexis Laferrière Date: Mon, 22 Dec 2014 03:38:18 +0000 (-0500) Subject: lib/socket: update examples to the latest API X-Git-Tag: v0.7~4^2~2 X-Git-Url: http://nitlanguage.org lib/socket: update examples to the latest API Signed-off-by: Alexis Laferrière --- diff --git a/lib/socket/examples/socket_client.nit b/lib/socket/examples/socket_client.nit index b488028..3f38ab4 100644 --- a/lib/socket/examples/socket_client.nit +++ b/lib/socket/examples/socket_client.nit @@ -21,18 +21,23 @@ import socket if args.length < 2 then print "Usage : socket_client " - 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 diff --git a/lib/socket/examples/socket_server.nit b/lib/socket/examples/socket_server.nit index c435320..17bfcab 100644 --- a/lib/socket/examples/socket_server.nit +++ b/lib/socket/examples/socket_server.nit @@ -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