サーバーにテキストを送信したい。私が欲しいのは、ボタン内のテキストです。ボタンにはサーバーに送信するテキストが含まれていることを意味します
ここに私の 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)
サーバーにテキストを表示するにはどうすればよいですか。私を助けてください。どうもありがとう。