mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 07:33:01 +00:00 
			
		
		
		
	 d6391f2d70
			
		
	
	d6391f2d70
	
	
	
		
			
			This also changes the api of servers slightly - in light of having support for ev tasks, it is probably better to remove the "simple" server code and replace it with some Janet or remove it all together. While convenient, it has issues with error handling and rigidity.
		
			
				
	
	
		
			16 lines
		
	
	
		
			359 B
		
	
	
	
		
			Janet
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			359 B
		
	
	
	
		
			Janet
		
	
	
	
	
	
| (defn handler
 | |
|   "Simple handler for connections."
 | |
|   [stream]
 | |
|   (defer (:close stream)
 | |
|     (def id (gensym))
 | |
|     (def b @"")
 | |
|     (print "Connection " id "!")
 | |
|     (while (:read stream 1024 b)
 | |
|       (printf " %v -> %v" id b)
 | |
|       (:write stream b)
 | |
|       (buffer/clear b))
 | |
|     (printf "Done %v!" id)
 | |
|     (ev/sleep 0.5)))
 | |
| 
 | |
| (net/server "127.0.0.1" "8000" handler)
 |