同步阻塞SOCKET通信中处理交互的问题
初学winsocket TCP编程,遇到以下疑问:
当建立socket会话后(SOCKET_STAEAM),服务器端接受完client的请求流会始终阻塞在这里:
sockRecvR = recv(sockTmpDoRequest, szBuff, sysSocketBuffer, 0);
客户端也在等待服务器端处理的响应结果,因此也无法closesocket,这样两方进程都在recv处阻塞,如何解决这种阻塞情况?
还有:
1.同步阻塞和异步非阻塞方式各自一般都在什么应用情况中使用?请解释一下原理
2.当client发送过来的流大小不能确定,而服务器又必须把所有接受流拼接在一起后才能处理时,如何动态增加存储内存,以防止浪费内存的现象