0
내 생각이 쪽이 괜찮습니다하지만 난 확실하게 그냥 넣어 것이라고 말했다.
import java.io.*;
import java.net.*;
public class Server_wifi {
public static void main(String[] args) throws Exception {
ServerSocket sersock = new ServerSocket(3000);
System.out.println("Server ready for chatting");
Socket sock = sersock.accept();
// reading from keyboard (keyRead object)
BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
// sending to client (pwrite object)
OutputStream ostream = sock.getOutputStream();
PrintWriter pwrite = new PrintWriter(ostream, true);
// receiving from server (receiveRead object)
InputStream istream = sock.getInputStream();
BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
String receiveMessage, sendMessage;
while(true) {
if((receiveMessage = receiveRead.readLine()) != null) {
System.out.println(receiveMessage);
}
sendMessage = keyRead.readLine();
pwrite.println(sendMessage);
System.out.flush();
}
}
}
클라이언트가 나는 문제가 클라이언트 측에 있지만 정말 어디에 알아낼 수없는 것 같아요.
package com.example.testprogram;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
private Socket server;
private PrintWriter printwriter;
private EditText textField;
private EditText textField2;
private Button button;
private String messsage;
private int x =0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textField = (EditText) findViewById(R.id.tf1); //reference to the text field
textField2 = (EditText) findViewById(R.id.tf2); //reference to the text field
button = (Button) findViewById(R.id.wifi); //reference to the send button
textField.setText("Started... ");
//Button press event listener
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
x++;
messsage = textField.getText().toString(); //get the text message on the text field
textField.setText(""); //Reset the text field to blank
System.out.println("Got here...");
try {
Socket sock = new Socket("172.16.71.175", 3000);
// reading from keyboard (keyRead object)
BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
// sending to client (pwrite object)
OutputStream ostream = sock.getOutputStream();
PrintWriter pwrite = new PrintWriter(ostream, true);
// receiving from server (receiveRead object)
InputStream istream = sock.getInputStream();
BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
textField.setText("Start the chitchat, type and press Enter key");
String receiveMessage, sendMessage;
while(true) {
sendMessage = textField.getText().toString(); // keyboard reading
pwrite.println(sendMessage); // sending to server
System.out.flush(); // flush the data
if((receiveMessage = receiveRead.readLine()) != null) //receive from server
{
textField.setText(receiveMessage); // displaying at DOS prompt
}
}
}catch (UnknownHostException e) {
textField.setText("Unknown host");
e.printStackTrace();
} catch (IOException e) {
textField.setText("IO exception"+e.toString());
e.printStackTrace();
}
}
});
}
}
내 앱이 충돌하는 것 같습니다. 완료하지 못했다고 계속 말합니다. 전화와 컴퓨터 사이에 양방향 시스템을 설치하려고합니다. 도움을 청하십시오. 나는 앱이 응답을 계속해서 올리도록 제안하는 것과 같은 포획을했다.
{}님께 조금이라도 들러 주시겠습니까? – Fildor
캐치가없는 try 블록이 있습니다. 그게다고 생각해. – Fildor
Fildor에게 감사 드리며 indentaion에 대해 사과드립니다.하지만 이제는 응답이 없습니다. –