/*variables for accountant server*/
int sock, new_sock;
struct sockaddr_in local_addr;
pid_t pid;
/*initial server for financial server*/
sock = Init_data_comm_server(26987, &local_addr);
/*begin accept the query from business server*/
while (1) {
if ((new_sock = accept(sock, (struct sockaddr *) & local_addr, &sin_size)) < 0) {
perror("\033[1m\033[40;31maccepting query from client\033[0m\n"
continue;
}
/*fork a child process*/
if ((pid = fork()) < 0) {
perror("\033[1m\033[40;31merror:server.c:main():fork\033[0m\n"
close(new_sock);
sleep(1);
continue;
} else if (0 == pid) {
/* In the first child process*/
/* Close the listening socket description */
close(sock);
if ((pid = fork()) < 0) {
perror("\033[1m\033[40;31mproxy_init.caemon_foreground():fork()\033[0m\n"
exit(1);
} else if (pid > 0) {
exit(0);
}
//業(yè)務(wù)處理部分
。。。。。。。。