wangzhengquan
2021-02-07 14755ab48a9d8f942076e72a4ea064813e06407f
test_net_socket/test_net_mod_socket.cpp
@@ -91,46 +91,27 @@
  
}
void * bus_server;
void *bus_handler(void *sockt) {
  // pthread_detach(pthread_self());
  char action[512];
  while ( true) {
    printf("Input action: Close?\n");
    if(scanf("%s",action) < 1) {
      printf("Invalide action\n");
      continue;
    }
    if(strcmp(action, "close") == 0) {
      bus_server_socket_wrapper_close(sockt);
      break;
    } else {
      printf("Invalide action\n");
    }
  }
static void stop_bus_handler(int sig) {
  bus_server_socket_wrapper_stop(bus_server);
}
void start_bus_server(argument_t &arg) {
  printf("Start bus server\n");
  void * server_socket = bus_server_socket_wrapper_open();
  pthread_t tid;
  // 创建一个线程,可以关闭bus
  if(arg.interactive)
    pthread_create(&tid, NULL, bus_handler, server_socket);
  bus_server = bus_server_socket_wrapper_open();
  signal(SIGINT,  stop_bus_handler);
  signal(SIGTERM,  stop_bus_handler);
  if(bus_server_socket_wrapper_start_bus(server_socket) != 0) {
  if(bus_server_socket_wrapper_start_bus(bus_server) != 0) {
    printf("start bus failed\n");
    exit(1);
  }
  if (pthread_join(tid, NULL) != 0) {
    perror(" pthread_join");
  }
  bus_server_socket_wrapper_close(bus_server);
}
void *serverSockt;
@@ -183,9 +164,10 @@
  }
  
    //rv = net_mod_socket_recvandsend_timeout(serverSockt, _recvandsend_callback_ , 0, 2000000, NULL );
  // rv = net_mod_socket_recvandsend_timeout(serverSockt, _recvandsend_callback_ , 0, 2000000, NULL );
  net_mod_socket_close(serverSockt);
  logger->debug("stopted\n");
  // while ( (rv = net_mod_socket_recvfrom(ser, &recvbuf, &size, &key) ) == 0) {
  //  // printf( "server: RECEIVED REQUEST FROM  %d NAME %s\n", key, recvbuf);
  //   sprintf(sendbuf, "%d RECEIVED %s", net_mod_socket_get_key(ser), (char *)recvbuf);
@@ -457,7 +439,7 @@
  net_node_t *node_arr;
  int node_arr_size = parse_node_list(targ->nodelist, &node_arr);
 
  char *topic = "news";
  const char *topic = "news";
  // char filename[512];
  // sprintf(filename, "test%d.tmp", targ->id);
  // FILE *fp = NULL;