시작하려는 프로그램이 고정 포트 3333에서 연결을 수신하려고하고 두 번째 인스턴스를 시작하면 "이미 연결됨"오류가 발생합니다. 인수를 사용하여 포트를 변경하는 방법이 있는지 확인하십시오. 그러나 당신이 소스를 제공하지 않았기 때문에 나는 그것에 대해 언급 할 수 없다.
하지만 난 그냥 일이
한다고 가정 소비자가 포트 3333에서 수신 대기 정상적인 상황에서 어떻게 작동하는지 설명하기 위하여려고하고있다가, 다음은 서버가 해당 포트의 연결을 받아 들일 것입니다. 그리고 여러 클라이언트가
샘플 클라이언트 프로그램
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
Socket clientSocket = new Socket("localhost", 3333); //3333 is the port on which the server is listening
DataOutputStream outToConsumer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromConsumer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); //Only if consumer sends something in reply
sentence = inFromUser.readLine();
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromConsumer.readLine();
그래서 여러 생산자가 고객 수와 전용 포트에서 듣고있는 소비자에게 데이터를 전송합니다 서버에 해당 포트에 데이터를 보낼 수 있습니다. 여러 소비자가 동일한 소켓에서 수신 대기 할 수 없다는 것을 명심하십시오. 다른 소비자에 대해 서로 다른 포트 을 사용해야합니다.
데이터를받는 프로세스는 어디에 있습니까? 3333 번 포트에서 들으시겠습니까? – Narkha
Consumer 및 Producer의 소스를 제공 할 수 있습니까? 이를 통해 적절한 솔루션을 제공 할 수 있습니다. 내 대답은 정상적인 시나리오 작업과 오류가 발생하는 이유를 지적합니다. –
@ NarendraPathai : 답변이 효과적입니다! 고마워요. ... – Dominix