wangzhengquan
2020-12-03 23a5822a2a4f874b84c2c2a9c2442ac4a5279176
test_net_socket/test_net_mod_socket.c
@@ -52,6 +52,36 @@
  
}
void start_bus_server(int key) {
  printf("Start bus server\n");
  void * server_socket = net_mod_socket_open();
  net_mod_socket_bind(server_socket, key);
  net_mod_socket_start_bus(server_socket);
}
void start_reply(int key) {
  printf("start reply\n");
  void *client = net_mod_socket_open();
  net_mod_socket_bind(client, key);
  int size;
  void *recvbuf;
  char sendbuf[512];
  int rv;
  int remote_port;
  while ( (rv = net_mod_socket_recvfrom(client, &recvbuf, &size, &remote_port) ) == 0) {
   // printf( "server: RECEIVED REQUEST FROM PORT %d NAME %s\n", remote_port, recvbuf);
    sprintf(sendbuf, "RECEIVED  PORT %d NAME %s", remote_port, recvbuf);
    net_mod_socket_sendto(client, sendbuf, strlen(sendbuf) + 1, remote_port);
    free(recvbuf);
  }
}
void start_net_client(char *sendlist, char*publist ){
   client = net_mod_socket_open();
   char content[MAXLINE];
@@ -93,9 +123,8 @@
       
        if (fgets(content, MAXLINE, stdin) != NULL) {
           // 收到消息的节点即使没有对应的信息, 也要回复一个表示无的消息,否则会一直等待
          n = net_mod_socket_sendandrecv(client, node_arr, node_arr_size, content,
          strlen(content), &recv_arr, &recv_arr_size);
          printf("send %d nodes\n", n);
          n = net_mod_socket_sendandrecv(client, node_arr, node_arr_size, content, strlen(content), &recv_arr, &recv_arr_size);
          printf(" %d nodes reply\n", n);
          for(i=0; i<recv_arr_size; i++) {
             printf("host:%s, port: %d, key:%d, content: %s\n", 
                recv_arr[i].host,
@@ -147,34 +176,6 @@
  
}
void start_bus_server(int key) {
  printf("Start bus server\n");
  void * server_socket = net_mod_socket_open();
  net_mod_socket_bind(server_socket, key);
  net_mod_socket_start_bus(server_socket);
}
void start_reply(int key) {
  printf("start reply\n");
  void *socket = net_mod_socket_open();
  net_mod_socket_bind(socket, key);
  int size;
  void *recvbuf;
  char sendbuf[512];
  int rv;
  int remote_port;
  while ( (rv = net_mod_socket_recvfrom(socket, &recvbuf, &size, &remote_port) ) == 0) {
   // printf( "server: RECEIVED REQUEST FROM PORT %d NAME %s\n", remote_port, recvbuf);
    sprintf(sendbuf, "RECEIVED  PORT %d NAME %s", remote_port, recvbuf);
    net_mod_socket_sendto(socket, sendbuf, strlen(sendbuf) + 1, remote_port);
    free(recvbuf);
  }
}