serviceRun
| ma method remoteIp historia | ma := ModuleAssembly core. ma logTo: (KomLogger on: (FileStream oldFileNamed: 'server.log')). "authdb := KomAuthDb new. users := self class users. users keysAndValuesDo: [:k :v| authdb addUser: k withPassword: v]. ma authenticate: authdb realm: 'REMOTE'." ma alias: '/screen' to: [ma addPlug: [:request | HttpResponse fromMIMEDocument: (Form fromDisplay: screenBounds) asWebImage]]. ma addPlug: [:request | | aPoint aButton | remoteIp := request remoteAddress asIpString. historia := visitors at: remoteIp ifAbsent: [cartel := TextMorph fancyPrototype. cartel autoFit: true. cartel contents: 'SqueakRos Greet ' , remoteIp. cartel openInHand. visitors at: remoteIp put: OrderedCollection new]. historia add: (String streamContents: [:strm | (TimeStamp fromSeconds: request timestamp) printCLFFormatOn: strm]). Transcript show: remoteIp; tab. Transcript show: historia last; cr. self halt. "(FMSound lowMajorScaleOn: FMSound bassoon1) play." request fields size = 0 ifTrue: [method := request url. method := method copyFrom: 2 to: method size. method = 'favicon.ico' ifFalse: [method = 'robots.txt' ifFalse: [method size = 0 ifFalse: [self perform: method asSymbol]]]] ifFalse: [aPoint := Point x: (request fields at: 'point.x') asInteger y: (request fields at: 'point.y') asInteger. aButton := request fields at: 'button'. textInput := request fields at: 'textIn'. self click: aPoint button: aButton]. HttpResponse fromString: self makeScreenMap]. ^ (HttpService startOn: port named: 'Screen') plug: ma rootModule;mode:#debug ========== Aquí se desea lo siguiente: Este servicio corre sobre el 8088 y es la "foto" de la imagen desde web. Se puede trabajar sobre la imagen que corre, en cierta medida. Visitors es un objeto que es un diccionario. Las claves son Ip y los valores son OrderedCollection de los accesos. Tambien se graba un archivo de texto server.log Fijense que la base de datos esta desactivada y la musiquita tambien. A ver quien envia primero una solución para: Que la músiquita y el cartel solo salgan para Los ip nuevos. El primer acceso del dia para los ip ya existentes. Envio adjunto el objeto Visitors.obj , que al tirarlo sobre 3.11 Trucho (les gusta mas ese nombre ?) se lee y abre solo mostrando un inspector del mismo Premio: Una coca en Smalltalks 2008 al ganador Edgar Visitors.obj (75K) Download Attachment |
Free forum by Nabble | Edit this page |