| 
									
										
										
										
											2012-08-03 16:49:38 -04:00
										 |  |  | ! Copyright (C) 2012 John Benediktsson | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-06 18:51:52 -04:00
										 |  |  | USING: accessors kernel io io.encodings.binary io.servers ;
 | 
					
						
							| 
									
										
										
										
											2012-08-03 16:49:38 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | IN: echo-server | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : echo-loop ( -- )
 | 
					
						
							| 
									
										
										
										
											2012-08-06 18:51:52 -04:00
										 |  |  |     1024 read-partial [ write flush echo-loop ] when* ;
 | 
					
						
							| 
									
										
										
										
											2012-08-03 16:49:38 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : <echo-server> ( port -- server )
 | 
					
						
							| 
									
										
										
										
											2012-08-06 18:51:52 -04:00
										 |  |  |     binary <threaded-server> | 
					
						
							| 
									
										
										
										
											2012-08-03 16:49:38 -04:00
										 |  |  |         swap >>insecure | 
					
						
							|  |  |  |         "echo.server" >>name | 
					
						
							|  |  |  |         [ echo-loop ] >>handler ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : echod ( port -- server )
 | 
					
						
							|  |  |  |     <echo-server> start-server ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : echod-main ( -- ) 1234 echod drop ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MAIN: echod-main | 
					
						
							|  |  |  | 
 |