소켓을 사용하여 자바 서버와 안드로이드 클라이언트 간의 연결을 설정했습니다. 안드로이드에서 자바로 메시지를 보낼 수 있지만 한 번에 한 메시지 만 보낼 수 있습니다. 만약 내가 안드로이드에서 자바로 2 변수의 데이터를 보내고 동시에 2 개의 다른 변수에 자바에서 그 데이터를받을 수 있습니다. 어떻게이 작업을 수행 할 수 있습니까? 자바 서버클라이언트에서 서버로 여러 데이터를 보내고받는 방법
public static void main(String arg[]){
Thread t = new Thread(){
public void run() {
// TODO Auto-generated method stub
try {
ServerSocket ss = new ServerSocket(7000);
while(true){
Socket s = ss.accept();
System.out.println("Server is running");
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println("Received from client: "+dis.readUTF());
dis.close();
s.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
t.start();
}
에 대한
코드 안드로이드 클라이언트에 대한
public class MessageClient extends Activity implements OnClickListener {
EditText etMessage;
Button bSend;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.messageclient);
bSend = (Button) findViewById(R.id.button1);
etMessage = (EditText) findViewById(R.id.etMessage);
bSend.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
try {
Socket s = new Socket("192.168.0.100",7000);
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeUTF(etMessage.getText().toString());
dos.flush();
dos.close();
s.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
코드 감사합니다.
왜 소켓 연결을 사용하는지. 백엔드에서 Rest 기반 웹 서비스를 만들고이를 통해 통신 할 것을 제안합니다. 전체 아키텍처를 쉽게 만들고 요구 사항에 따라 수정할 수 있습니다. – Innovation
죄송합니다.하지만 이해하지 못했습니다. 배울 사이트 나 알고있는 예제를 제공 할 수 있습니까? – ManishPrajapati