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,但沒有奏效