我正在研究用于发送文件的服务器-客户端程序(在Linux中)。客户端从服务器请求文件,服务器将文件发送给他,然后另一个客户端可以执行该操作,依此类推。
我想在“退出”输入标准输入时结束程序。 在这种情况下,服务器将结束他的工作,然后结束程序。 我的问题是如何处理服务器侦听套接字的情况(通过listen()函数),并输入“ exit”。如果我们在中间,我不知道如何识别退出类型listen()函数。
listen(*mySocket, 3);
int t;
if ((t = accept(s,NULL,NULL)) < 0) {
return -1;
}
return t;
-------
int S_checkQuit(int mySocket){
fd_set rfds;
struct timeval tv;
tv.tv_sec=0;
tv.tv_usec =0;
FD_ZERO(&rfds);
FD_SET(mySocket, &rfds);
FD_SET(0, &rfds);
int n = mySocket + 1;
int rv = select(n, &rfds, NULL, NULL, &tv);
if (rv){
string cmd;
getline(cin, cmd);
if (cmd == "quit") {
return 1;
}
}
return 0;
}
这就是我现在如何在程序其余部分中为stdin捐款的方式: 我想找到一种方法来捕获“退出”输入。