0
아마존 EC2 서버에서 메시지를 수신하기 위해 클라이언트 측에서이 코드를 사용하고 있지만이 클라이언트는 서버에서이 메시지를받지 못합니다. 왜 그래야만하지? // 클라이언트 코드서버에서 응답을받지 못했습니다.
BufferedReader in;
receiveMessage(BufferedReader in_){
in = in_;/*value passed to in_ is new BufferedReader(new InputStreamReader(clientsoc.getInputStream()));*/
Thread t= new Thread(this,"receive Message");
t.start();
}
@Override
public void run() {
// throw new UnsupportedOperationException("Not supported yet.")
System.out.println("Ready to receive message from server");
while(true){
try {
String s = in.readLine();
if(s != null)
System.out.println("Server Says : "+s);
} catch (IOException ex) {
System.out.println(ex.toString());
// Logger.getLogger(tcpServer.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
// 서버 코드는 클라이언트
sendMessage(PrintWriter out_,String userID_){
out = out_;
userID = userID_;
Thread t = new Thread(this,"send Message");
t.start();
}
@Override
public void run() {
//throw new UnsupportedOperationException("Not supported yet.");
System.out.println("tcpServer: Waiting to send message to client,, is there any???");
while(true){
if(outgoingMessages.size()>0){
InstructionMessage im = getOutGoingMessagesAtIndex(0);
System.out.println("tcpServer: just about to send message to client with receiver " +im.UserID + " and current thread id is " + userID);
im.UserID = im.UserID.trim();
if(im.UserID.equals(userID.trim()))
{
String s= im.toString();
System.out.println("innnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iffffffffffffffff "+ s);
String responseString = "";
responseString =responseString + "userId = "+ im.UserID;
responseString =responseString + " # importance = " + im.Importance;
responseString =responseString + " # text = " +
im.MessageText;
responseString =responseString + " # htmlEnabled = " + im.html;
System.out.println("sentMessae to client is ^^^^^^^ "+ responseString);
out.println(responseString);
outgoingMessages.remove(im);
}
}
}
}
메시지를 보낼 수 있지만 메시지는 클라이언트가 수신되지 않습니다. 우리는 포트 8889 및 1098을 시도하지만