最近上課要求做一個(gè)用到socket的project,于是就想用安卓試試?,F(xiàn)在碰到的問題是,安卓作為客戶端可以發(fā)數(shù)據(jù)但是收不到數(shù)據(jù)。服務(wù)器發(fā)數(shù)據(jù)用的是PrintWriter.println(message)以及write(message+"\n"),安卓client接收用的是readLine()。我的代碼在純java,也就是pc自己和自己通信的時(shí)候是沒有問題的,移到安卓上才出現(xiàn)了這個(gè)問題。請(qǐng)大家?guī)兔?!感謝!client:private?class?IncomingReader?implements?Runnable?{
????@Override
????public?void?run()?{
????????String?message;
????????try?{
????????????while((message?=?reader.readLine())?!=?null){
????????????????Log.i(TAG,?"read"?+?message);
????????????????text.append(message+"\n");
????????????}
????????}?catch?(Exception?e)?{
????????????e.printStackTrace();
????????}
????}
}server:private?void?tellEveryone(String?message)?
{
????Iterator<PrintWriter>?it?=?registeredClients.values().iterator();
????while(it.hasNext()){
PrintWriter?w?=?(PrintWriter)it.next();
w.println(message);
w.flush();
????}
}writer.write("-----Sorry,?the?name?has?already?been?used.-----\n");
添加回答
舉報(bào)
0/150
提交
取消