|
1:
使用WSAEventSelect的IO模型,做了个TcpServer 和 TcpClient
Client用send()发送消息
- char szTest[30];
- int nIndex = 0;
- for (int i=0; i<20; i++)
- {
- memset(szTest, 0, sizeof(szTest));
- ::sprintf(szTest, "It is a TCP Request! [Id=%d] \n", i);
- ::send(s, szTest, sizeof(szTest), 0);
- //::sendto(s, szTest, strlen(szTest), 0, (sockaddr*)&servAddr, sizeof(servAddr));
- ++nIndex;
- }
复制代码
循环20次的记过 Server会收到一次Read请求 但是是600个字节,我在send()的时候加上sleep则是我想要的结果,server收到20次30个字节大小的包。正确的方法应该怎样,sleep肯定是个很戳的
TCP协议是数据流,但是我想知道winsock底层是怎么具体怎么做到上诉两种情况的发送。
2:
还有一个关于send(),sendto()的问题,两者是TCPUDP都可用还是send()用于TCP发送,sendto()用于UDP
我试了下是两者都可用但是,下面一个链接里却说的是“send()用于TCP发送,sendto()用于UDP”
http://www.retran.com/beej/sendman.html
PS:刚开始学这方面的,看点开头就开始码代码了,有些问题可能问的很幼稚。我先看书去了,大侠不吝赐教 |
|