-1

サーバーにテキストを送信したい。私が欲しいのは、ボタン内のテキストです。ボタンにはサーバーに送信するテキストが含まれていることを意味します

ここに私の activity.java があります

textout = (TextView)findViewById(R.id.textout);
    Button buttonOK = (Button)findViewById(R.id.button1);
    Button buttonYES = (Button)findViewById(R.id.button2);

    buttonOK.setOnClickListener(buttonSendOnClickListener);
}
    Button.OnClickListener buttonSendOnClickListener = new Button.OnClickListener(){
        @SuppressWarnings("null")
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Socket socket = null;
            DataOutputStream dataOutputStream = null;
            DataInputStream dataInputStream = null;

            OutputStream out = null;
            try {
                socket = new Socket("192.168.43.15", 8888);
                dataOutputStream = new DataOutputStream(socket.getOutputStream());
                dataInputStream = new DataInputStream(socket.getInputStream());
                OutputStream out1 = socket.getOutputStream();      

                TextView textout = null;
                textout.setText(dataInputStream.readUTF());             
                textout.setText("OKAY");            

ここに私のserver.javaがあります

public static void main(String[] args){
  ServerSocket serverSocket = null;
  Socket socket = null;
  DataInputStream dataInputStream = null;
  DataOutputStream dataOutputStream = null;
 try {
   serverSocket = new ServerSocket(8888);
   System.out.println("Listening :8888");
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

  while(true){
   try {
    socket = serverSocket.accept();
    dataInputStream = new DataInputStream(socket.getInputStream());
    dataOutputStream = new DataOutputStream(socket.getOutputStream());
    System.out.println("ip: " + socket.getInetAddress());
    System.out.println("message: " + dataInputStream.readUTF());
    dataOutputStream.writeUTF("Hello!");

さて、[OK] ボタンをクリックしたときに問題が発生しました。サーバーにテキストが表示されません。しかし、クライアントとサーバー間の接続はすでに確立されています。そして突然私のアプリは強制終了します。

それはlogcatショーです

07-06 22:06:54.880: I/dalvikvm(590): threadid=3: reacting to signal 3
07-06 22:06:54.936: I/dalvikvm(590): Wrote stack traces to '/data/anr/traces.txt'

これが私のサーバーショーです

java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at MyServer.main(MyServer.java:31)

サーバーにテキストを表示するにはどうすればよいですか。私を助けてください。どうもありがとう。

4

1 に答える 1

0

実際にテキストを送信することはありません。私は doas.write(text.getBytes())最初に試してみます...

于 2012-07-06T14:59:51.827 に答える