Пример #1
0
PA_THREAD_RETTYPE __STDCALL commandHandleThread(void *p)
{
	HP2PMPLX hP2pMplx = (HP2PMPLX)p;
	MYSESSDATA *pSessData;
	pSessData = P2pMplxGetUserData(hP2pMplx);

	while(pSessData->bRunCmd)
	{
		int err;
		CMDPKTINFO pkt;
		switch( (err = P2pMplxRecvPacket(hP2pMplx, 0, &pkt, 1000)) )
		{
		case 0:
			commandHandler(hP2pMplx, &pkt);
			P2pMplxReleasePacket(hP2pMplx, 0, &pkt);
			break;
		case P2PE_TIMEOUTED:
			break;
		case P2PE_CONN_ABORTED:
		case P2PE_CONN_TIMEOUTED:
			fprintf(stderr, "session %d aborted due to: %s\n", pSessData->iSlot, err == P2PE_CONN_ABORTED?"abort":"timeout");
			removeSessInSlots(hP2pMplx);
			_cleanSessData(hP2pMplx);
			P2pMplxDestroy(hP2pMplx);
			break;
		default:
			printf("connect %d receive packet failed with error: %d\n", pSessData->iSlot, err);
		}
	}

	return (PA_THREAD_RETTYPE)0;
}
Пример #2
0
int main(int argc, char *argv[])
{

  /* Socket Setup */
  // default socket number
  int socketNumber = 5000;

  // Init the GPIO
  wiringPiSetup();
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);

  testEncrypt();
  return 1;

  if (argc > 1){
    socketNumber = atoi(argv[1]);
  }

  // Set up socket first
  struct sockaddr_in serv_addr;

  signal(SIGINT, intHandler);

  listenfd = socket(AF_INET, SOCK_STREAM, 0);

  memset(&serv_addr,  '0', sizeof(serv_addr));

  serv_addr.sin_family      = AF_INET;
  serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
  serv_addr.sin_port        = htons(socketNumber);

  bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr));

  listen(listenfd, 10);
  sessionfd = accept(listenfd, (struct sockaddr*)NULL, NULL);

  /* End of Socket Setup */

  /* OpenSSL setup */
  ERR_load_crypto_strings();
  OpenSSL_add_all_algorithms();
  OPENSSL_config(NULL);

  /* End of OpenSSL setup */

  commandHandler(sessionfd);

  // Destructor for socket
  close(listenfd);
}
void TTRClientThread::run() {
	while (!quit){
		if (connected)
		{
			String buffer = (String)"";

			buffer = receive();
			if (buffer == "") 
			{
				connected = false;
				onDisconnect();
			}
			else commandHandler(buffer);
		} else {
			if (!connect()) Thread::sleep(100);
		}
	}
}
Пример #4
0
/**
	Procedure: main

	Purpose: Initiates MPX OS

	Parameters: None  

	Return value: None

	Calls: sys_init, commandHandler

	Globals: None

	Errors: None
**/
void main(){
	sys_init(MODULE_R2 + MODULE_R1);			    		//1. Initialize
	commandHandler();				    		//2. Call commandHandler function
}//end main