Skip to content

Commit

Permalink
init developming
Browse files Browse the repository at this point in the history
  • Loading branch information
ashalaev committed Apr 16, 2013
0 parents commit 2cbbf4b
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions Server.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package httpserver

import scala.actors.Actor

import java.net.InetAddress
import java.net.ServerSocket
import java.net.Socket

import java.io.BufferedReader
import java.io.InputStream
import java.io.InputStreamReader


class RequestHandler extends Actor {

def act() {
println("Started Server...")

while(true) {
receive {
case client:Socket => {
println("Received message from " + client.getInetAddress() + ":" + client.getPort())
//Считываем заголовки запроса
var is:InputStream = client.getInputStream()
var buffer:BufferedReader = new BufferedReader(is)
println("First header Line: " + buffer.readLine())
}
case _ => println("Request error, discarded!")
}
}
}
}

class HttpServer(port: Int, address: InetAddress) extends Actor {
private var server:ServerSocket = new ServerSocket(port, 10, address)

private var handler:RequestHandler = new RequestHandler

handler.start()

def act() {
while(true) {
var socket:Socket = server.accept()
handler ! socket
}
}
}


object Server {
def main(args: Array[String]) {
var address:InetAddress = InetAddress.getByName("127.0.0.1")

var server:HttpServer = new HttpServer(1234, address)
server.start()

}
}

0 comments on commit 2cbbf4b

Please sign in to comment.