마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

(소스有)소켓통신 동영상 촬영실행 명령!!

0 추천
<클라이언트>

public void onClick(View view)
    {
  {
   Log.i(this.getPackageName(), "onClick()");

   try
   {
    String _Msg;


    switch (view.getId())
    {
     case R.id.button1 :
      _Msg = Environment.getExternalStorageDirectory()+"/Heri/test1.jpg";
      select_disply = 1;
      iv_ImageView.setImageURI(Uri.parse("file:"+_Msg));
      break;

     case R.id.button2 :
      _Msg = Environment.getExternalStorageDirectory()+"/Heri/test4.jpg";
      select_disply = 2;
      iv_ImageView.setImageURI(Uri.parse("file:"+_Msg));
      break

     case R.id.button3:
      
       Intent intent = new Intent();
       intent.setType("image/*");
       intent.setAction(Intent.ACTION_GET_CONTENT);
       startActivityForResult(intent, REQUEST_GALLERY);
      break;

     case R.id.button4:
      
       InetAddress serverAddr = InetAddress.getByName(IP_ADDRESS);
       DatagramSocket socket = new DatagramSocket();
       byte[] buf = ("start").getBytes();
       DatagramPacket packet = new DatagramPacket(buf, buf.length, serverAddr,  UDP_SOCKET_PORT);
      socket.send(packet);

 

<서버>


  public void setUDP(){
   String _Msg="";

  try{
   socket = new DatagramSocket(port);
   Log.d("UDP","S:Connecting...");

   byte[] buf = new byte [512];
   while(true){
    receivePacket = new DatagramPacket(buf,buf.length);
    Log.d("UDP", "S: Receiving...");
    socket.receive(receivePacket);

    Log.d("UDP", "S: Received : " + new String(receivePacket.getData()) + "");
    Log.d("UDP", "S: Done.");


    InetAddress clientAddr = receivePacket.getAddress();
    port = receivePacket.getPort();
    _Msg = new String(receivePacket.getData(),0,receivePacket.getLength());
    Log.d("UDP", "Receive : " + _Msg);

    buf = _Msg.getBytes();

    receivePacket = new DatagramPacket(buf, buf.length, clientAddr, port);
    Log.d("UDP", "Send " + new String(buf));
    socket.send(receivePacket);
    }
   } catch (Exception ex) {
    Log.e("UDP", "S: Error", ex);
    }


    }

  클라이언트에서 "start" 메세지를 보내서, 서버에서 메세지를 열었을때 "start" 경우엔 동영상 촬영 시작하게 하고싶은데..

어떻게해야하는지 모르겠습니다

익명사용자 님이 2013년 4월 5일 질문

1개의 답변

0 추천
질문이 뭔지 잘;;;

어느부분에서 뭐가 궁금하다거나

좀 명확해야 하지 않을까요..

질문하신대로라면,

메세지를 연다는 말도 이해가 잘 안되고;;

받는다는건지 아니면 서버가 PC이고 받은 메세지를 저장했다가 연다는건지;;
갸아악 (21,260 포인트) 님이 2013년 4월 5일 답변
헷갈리게해서 죄송합니다. 간단히 설명하면은
클라이언트에서 버튼을 눌렀을경우  서버에서 동영상 촬영이 시작하는걸 만들고 싶습니다.
1.클라이언트에서 촬영명령으로서  byte[] buf = ("start").getBytes();를 소켓을통해 서버에 전달합니다.
2. 서버에서는 receivePacket을 이용해 클라이언트가 보낸 메세지를 읽습니다.  그런다음,  만약 읽은메세지가 "start" 라면,  동영상 촬영시작을 실행하는 프로그램을 만들고싶습니다.

바쁘시겠지만 소중한 답변 기다리겠습니다
지금 뭘 하시고 싶으신건지 아시는거 같은데;;;
그대로 책찾아서 해보시면 되지 않을까요?
구글링이나..
...