안드로이드 자이로센서를 pc 오브젝트에 적용시킬려고함.
두 기기 모두 같은 네트워크임
bytes = Encoding.UTF8.GetBytes(message); //메세지 스트링안에 자이로값들이 들어있음
client.Send(bytes, bytes.Length, ip); //ip는 일단 사설pc ip에 포트번호 할당함
모바일쪽은 이렇게 했고
일단 pc쪽은 데이터나 잘들어오는지 확인할려고 아래처럼 만들었는데
public void Start()
{
receiveThread = new Thread(new ThreadStart(Listen));
receiveThread.IsBackground = true;
receiveThread.Start();
}
public void OnDisable()
{
if (receiveThread != null)
{
receiveThread.Abort();
}
listener.Close();
}
public void Listen()
{
listener = new UdpClient(port);
groupEP = new IPEndPoint(IPAddress.Any, port);
while (true)
{
try
{
Debug.Log("Waiting for broadcast");
byte[] bytes = listener.Receive(ref groupEP);
Debug.Log("Received broadcast from " + groupEP);
Debug.Log(Encoding.ASCII.GetString(bytes, 0, bytes.Length));
}
catch (SocketException e)
{
Debug.Log(e);
}
}
}
이게 모바일에서 전송이 안되는건지 pc에서 못받는건지 구별이 안됨
혹시 체크해야될 사항이 있음?
PC 방화벽 확인
PC에 udp 테스트하는 프로그램 함 돌려보셈
아근데 모바일에서 보내는거 브로드캐스트나 PC IP로 보내는건 맞지?
만약 PC에 네트워크 어댑터가 여러개라면, Receive하기전에 UdpClient에서 Socket가져와서 사용중인 어탭터만 받게 Bind 해보셈
그리고 Thread Abort 쓰지마셈