发现每次发送文件之后,要等很久插入到数据库中。哪里有问题?今天跟踪了一下,发现是发送文件之后的返回很慢。一想,应该是使用的默认超时(30秒?)。设置超时后,很快就返回了:
struct timeval timeout={1,0};
setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, (const char*)&timeout, sizeof(timeout));
setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, (const char*)&timeout, sizeof(timeout));