void SimModule::setArguments(const QString& args) { if( isValidArguments(args) ) { _arguments = args; } else { _arguments.clear(); } }
int main(int argc, char const *argv[]) { if (argc != 3) { fprintf(stderr, "usage: %s <server address> <port>\n", argv[0]); exit(EXIT_FAILURE); } if (!isValidArguments(argc, argv)) { fprintf(stderr, "Invalid Arguments\n"); exit(EXIT_FAILURE); } init(); int port; sscanf(argv[2], "%d", &port); int sockfd = clientInit(argv[1], port); printf("\n\nNetwork Programming Homework 1\n\nConnected to %s:%s\n", argv[1], argv[2]); TCPClient(sockfd, argv[1]); closeClient(sockfd); return 0; }
int main(int argc, char const *argv[]) { if (argc != 2) { fprintf(stderr, "usage: %s <port>\n", argv[0]); exit(EXIT_FAILURE); } if (!isValidArguments(argc, argv)) { fprintf(stderr, "Invalid Arguments\n"); exit(EXIT_FAILURE); } init(); // server initialize int port; sscanf(argv[1], "%d", &port); int listenId = serverInit(port); // signal // signal(SIGCHLD, sigChld); // wait for connection, then fork for per client while (true) { pid_t childPid; socklen_t clientLen = sizeof(sockaddr_in); sockaddr_in clientAddr; int clientfd = accept(listenId, reinterpret_cast<sockaddr*>(&clientAddr), &clientLen); if ((childPid = fork()) == 0) { close(listenId); char clientInfo[1024]; strcpy(clientInfo, inet_ntoa(clientAddr.sin_addr)); int clientPort = static_cast<int>(clientAddr.sin_port); fprintf(stdout, "Connection from %s, port %d\n", clientInfo, clientPort); TCPServer(clientfd); close(clientfd); fprintf(stdout, "Client %s:%d terminated\n", clientInfo, clientPort); exit(EXIT_SUCCESS); } close(clientfd); } return 0; }