- 论坛徽章:
- 3
|
- for (j = 0; j < atoi(argv[1]); j++) {
- if ( (ipid = fork()) < 0) {
- printf("fork error.\n");
- return -2;
- } else if (ipid == 0) {
- /* child */
- for (i = 0; i < atoi(argv[2]); i++) {
- /* data */
- int rand_arg;
-
- struct TComm send_t;
- rand_arg = getpid();
- printf("[%d]", rand_arg);
- printf("[i%d]\t", i);
-
- rand_arg += i;
-
- /* socket */
- if ( (sock_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
- write(1,"socket error.\n", 16);
- exit(-3);
- }
- bzero(&servaddr, sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- servaddr.sin_port = htons(8888);
- if (inet_pton(AF_INET, "192.168.0.1", &servaddr.sin_addr) <= 0) {
- write(1, "1\n", 3);
- exit(-3);
- }
- if (connect(sock_fd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) {
- write(1, "c2\n", 4);
- exit(-3);
- }
- create_sendt(&send_t,rand_arg); /* 生成发送报文 */
- printf("create_sendt\t");
-
- /* send */
- if ( write(sock_fd, &send_t, sizeof(struct TComm)) != sizeof(struct TComm)) {
- write(1, "w4\n", 4);
- exit(-3);
- }
-
- /* recv */
- if ( read(sock_fd, &send_t, sizeof(struct TComm)) != sizeof(struct TComm)) {
- write(1, "r5\n", 5);
- exit(-3);
- }
- printf("cardno[%s]\tret_code[%s]\n", send_t.sSCardNo, send_t.sRetCode);
- close(sock_fd);
- }
- exit(0);
- }
- }
复制代码 |
|