[질문]액션핸들러에서 메소드 실행시키는 법좀 갈켜주세요 ㅠ_ㅠ;
난초
이제 대충 GUI폼 끝내고, 소켓 프로그래밍 들어가는데, 자꾸 에러가 뜨네요;;
이게 이밴트 핸들러 처리부분이고;
public void actionPerformed(ActionEvent ae){
Object o=ae.getSource();
if(o==son){//서버켜기 버턴을 눌렀을때
InetAddress Address = null;
try {
Address = InetAddress.getLocalHost();
nowip.setText(Address.getHostAddress());
lgnTA.append(서버를 작동시키겠습니다.\n);
on.setEnabled(false);
son.setEnabled(false);
off.setEnabled(true);
soff.setEnabled(true);
startServer(); //이녀석이 실행이 안되네요;;
} catch(UnknownHostException ex) {
lgnTA.append(서버를 찾을수가 없습니다.\n);
}
}
그리고 이게 서버 작동시키는 메소드입니다;
public void startServer() throws Exception{
serversocket=new ServerSocket(2222);
while(true){
lgnTA.append(Client의 접속을 기다리는중...\n);
socket=serversocket.accept();
lgnTA.append(ip:+socket.getInetAddress().getHostAddress()+\n);
dis=new ObjectInputStream(socket.getInputStream() );
dos=new ObjectOutputStream(socket.getOutputStream() );
lgnTA.append([+dis.readObject().toString()+]+님이 접속하셨습니다.\n);
dos.writeObject(msg);
dos.writeObject(new Date() );
dos.close();
dis.close();
socket.close();
}
}
위에서try,catch사용하고 있어서, 안되나 해서startServer();빼고 몽땅 주석처리 해봤는데도 안되네여;;
액션 핸들러 처리부분에선 메소드를 사용할수 없나요?;;
-
달달항사탕
전 항상 대문자로 클래스써서;;ㅋㅋ
밑에 수정부분 고쳐났ㅇ여 -
맛깔손
저위에 녹색 부분 주석처리하고 실행하면 문제가 없는데, 문제는 저 녹색부분을 돌리지 않으면, 껍데기만 있고, 본체는 안돌아가는거니 문제네여;;
-
허리달
ㅇㅇ? 클래스명은 상관없는걸로 아는데여 ㅇㅇ;;
-
슬아라
일단 아직 쓰레드는 안집어넣고, 일단 접속이 되는지 안된느지 그것만 해볼려고 시도중입니다;
-
안토니
디버깅 작업 해보삼..실행 안된다고 하는 부분 위로 주석 처리하면서 out 날려보시길...
-
피스케스
근데 소켓 플그램 보통 쓰레드 있는데 그 부분은 어디루? 보통 쓰레드에서 스타트 시키지 않던가;;;
-
그루터기
소스 다 안보이니..;;;인스턴스 생성해서 실행시켰는지도 확인해보삼.메인.에..ㅋ
-
뭘봐요
음..암다 될듯한데..글구 스트림 부분은 기본 try처리 해주셔야 할듯하네요...입출력 입셉션 해주시고..음..에러소스 볼수잇을까영? 걍 모르지만..궁금하네요..ㅎㅎ
-
미국녀
지금 생각하고 있는게, throws Exception을 안해서 그런거 같은데, 액션처리하는 부분에서 throws Exception을 사용할 수가 있나여?;;