나는 별도의 프로세스에서 실행되는 서비스를 구현했습니다.서비스를 실행하는 방법은 무엇입니까?
이 서비스에는 소켓 연결이있는 별도의 스레드가 있습니다. 이 스레드는 데이터를 포트로 계속 전송하고있는 run()을 가지고 있습니다.
내 문제는 스레드에서 run()을 트리거 한 후에 더 이상 그와 접촉하지 않습니다. 프로그램에서 의식적으로 데이터를 전송하지만 아이디어가 그 프로그램을 볼 수 있습니다. 실행되는 동안 예제로 보내는 데이터를 변경할 수 있습니다. 여기
내 외부 스레드에서 실행됩니다 :public void run()
{
if(run)
{
// Team and player names message is sent when entering in a game
setBaseMessage();
SendMessageToCOMPort(base_message + CalculateCRC(base_message));
sleep(); // waits for 100 ms
}
}
사람은 누구나 잘못 될 일을 어떤 생각을 가지고?
음 지금은 타이머와 타이머 작업을 사용하여 달리기 대신 다른 방법을 찾았습니다. – user1497664
다른 방법을 찾은 경우 직접 답변을 게시 할 수 있습니다. – joel
낮은 점수가 필요하므로 정말 미안 답변을 게시 할 수 있습니다. 하지만 난이 istead 같은 타이머 작업을 사용 : 'code' 개인의 TimerTask 작업을 = 새의 TimerTask() { @Override 공공 무효 실행() { \t \t \t setNamesTeamsPlayerMessage(); \t \t \t setBaseMessage(); \t \t \t SendMessageToCOMPort (base_message + CalculateCRC (base_message)); \t \t \t sleep(); 'code' – user1497664