현재 Java로 작성된 IRC 클라이언트에서 작업하고 있습니다. 첫 번째 테스트는 꽤 갔다 IRC : No Ident 응답
#chat
이
- /NICK 테스트
- 이/가입 :는
는 즉시 서버에 대한 연결이 설정 될 때 나는이 메시지를 보낼 잘 - 서버가 응답 중입니다. 그러나 모든 시간은 말한다 :
- 공지 사항 AUTH : ***
- 행선지
- 공지 사항 AUTH 확인 : ***
- 없음 행선지 응답을
- ERROR : 링크 닫기 ...
는 I가 related question 발견 (등록 초과)이 H 조금 어슬렁 거리다. 그것은 포트 113에서 IRC-Server로부터 수신하고 응답하기위한 연결 및 메시지를 청취 할 필요가 있다고 말합니다. 그 포트에서 수신 대기하는 ServerSocket을 구현했지만 서버는 포트 113에서 연결을 열려고하지 않습니다. 무엇을 잘못하고 있습니까?
을 Heres 코드 : 실행에
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; public class IdentProtocolThread extends Thread { private String nick; private ServerSocket serverSocket; private BufferedReader reader; private BufferedWriter writer; public IdentProtocolThread(String nick) throws IOException { this.nick = nick; this.serverSocket = new ServerSocket(113); } @Override public void run() { try { System.out.println("waiting for incoming socket"); Socket socket = this.serverSocket.accept(); System.out.println("socket accepted"); this.initialize(socket); System.out.println("reader/writer initialized"); String line = null; while ((line = this.reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } System.out.println("done"); } private void initialize(Socket socket) throws IOException { this.reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); this.writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); } }
난 단지이 얻을 표시 :
이
내가 피하기 위해 다른 메시지를 보낼 필요가 있는가 들어오는 소켓을 기다리고 신원 확인?
첫 번째 줄 ('USER [email protected] : ytrezq')을 사용하고': morgan.freenode.net 461 * USER : 매개 변수가 충분하지 않습니다. ' – user2284570
그 "foo"에는 사용자가 있고, 마침표는 실제로 인수입니다. 예를 들어, "[email protected]"가 되려면 "사용자 prez. : Zaphod Beeblebrox"다음에 "NICK zaphod" –