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

안드로이드 개발 질문입니다. 부디 좋은 답변이 있었으면 ㅠㅠㅠ

0 추천

image

image

 

위 서버 php부분이 위처럼 되어 있고 테이블 구조도 위처럼 되어 있습니다

 

서버에서는 

<?php  

$con=mysqli_connect("127.0.0.1","root","apmsetup","speaker_data");  

 

mysqli_set_charset($con,"utf8");

  

if (mysqli_connect_errno($con))  

{  

   echo "Failed to connect to MySQL: " . mysqli_connect_error();  

}  

else

{

echo "aaa";

}

 

(double)$avgspl = $_POST['AVGSPL'];  

(double)$peakspl = $_POST['PEEKSPL'];  

(double)$micspl = $_POST['MICSPL']; 

(String)$time = $_POST['time'];

(String)$user = $_POST['user'];

 

$result = mysqli_query($con,"insert into tho881p(AVGSPL,PEEKSPL,MICSPL,time,user) values ('$avgspl','$peakspl','$micspl','$time','$user')");  

  

  if($result){

    echo 'success';  

  }  

  else{  

    echo 'failure';

  }  

  

  

mysqli_close($con);  

?> 

위 소스를 통해 데이를 받고 있고 

 

MyService부분에서 계속적으로 5초단위로 데이터를 넘기고 그 데이터를 서버에서 받는 방식인데요

 

현재 이어폰이 연결되고 음량이 측정되면 데이터가 넘어가는 방식이에요

 

근데 문제가 측정하고 화면에 출력부분은 잘되는데 데이터 통신에서 계속적으로 어느 정도 시간이 지나면 딜레이가 생기고 또 아예 통신이 끊겨버리고 합니다.

 

 

이유를 알고싶은데 아무리 찾아봐도 모르겠네요

일단 Service에서 데이터 전송을 하는 insertdatabase부분 함수가 너무 빨리 많이 불리는것 같아 Thread로 sleep를 걸어서 함수가 불리더라도 5초에 한번씩만 전송이 되도록 만들었는데

 

너무 허술한것 같아서요...

 

제가 무슨 잘못을 하고 있는 걸까요???

 

부탁드립니다..

http://cafe.naver.com/aphone

 

 

링크로 가보시면 첨부파일 있습니다...

 

익명사용자 님이 2016년 10월 13일 질문
제가 아는 바로는 PHP는 멀티쓰레드로 동작하지 않습니다. 하나의 처리가 끝나야 다음처리가 된다는 이야기입니다. 그래서 대형서버에서 PHP를 사용하는 경우가 거의 없습니다. 너무 트래픽이 많다면 그게 문제일 수는 있겠네요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...