import java.io.*;
import java.net.*;
import java.util.*;
class webserver {
public static void main(string argv[]) throws exception
{
serversocket listensocket = new serversocket(80);
while(true)
{
socket connectionsocket = listensocket.accept();
mythread mt = new mythread(connectionsocket);
mt.start();
}
}
}
class mythread extends thread
{
private socket sock = null;
public mythread(socket connectionsocket)
{
this.sock = connectionsocket;
}public void run()
{
string requestmessageline;
string filename;
bufferedreader infromclient =
new bufferedreader(new inputstreamreader(
connectionsocket.getinputstream()));
dataoutputstream outtoclient =
new dataoutputstream(connectionsocket.getoutputstream());
requestmessageline = infromclient.readline();
stringtokenizer tokenizedline =
new stringtokenizer(requestmessageline);
if(tokenizedline.nexttoken().equals(get)) {
filename = tokenizedline.nexttoken();
if(filename.startswith(/) == true)
filename = filename.substring(1);
file file = new file(filename);
int numofbytes =(int)file.length();
fileinputstream infile = new fileinputstream(filename);
byte[] fileinbytes = new byte[numofbytes];
infile.read(fileinbytes);
outtoclient.writebytes(http/1.0 200 document follows \r\n);
if(filename.endswith(.jpg))
outtoclient.writebytes(content-type: image/jpeg\r\n);
if(filename.endswith(.gif))
outtoclient.writebytes(content-type: image/gif\r\n);
outtoclient.writebytes(content-length: +numofbytes + \r\n);
outtoclient.writebytes(\r\n);
outtoclient.write(fileinbytes, 0, numofbytes);
connectionsocket.close();
}
else system.out.println(bad request message);
}
}자바 고수님들께 질문좀 드 리겠습니다.
현재 제가 학교에서 컴퓨터네트워크로 공부하면서 지금 자바로 멀티스레드를 이용한 웹 서버를 숙제로 하고 있는데...
제가 자바는 완전히 초보고 잘 몰라서 제가 필요한 부분만 조금씩 공부하다 보니 영 개념이 안서네요...
자꾸 이런 에러가 떠요..
exception in thread main java.net.bindexception: address already in use: jvm_bind
at java.net.plainsocketimpl.socketbind(native method)
at java.net.plainsocketimpl.bind(unknown source)
at java.net.serversocket.bind(unknown source)
at java.net.serversocket.init(unknown source)
at java.net.serversocket.init(unknown source)
at webserver.main(webserver.java:9)
그리고 problems 에서 에러 2개 잡히는데 그게 모두 mythread 의 connectionsoket 과 관련해서 에러가....
댓글 0