游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1841|回复: 2

【求助】Winsock的编程的入门问题!

[复制链接]

1

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2007-11-29 00:07:00 | 显示全部楼层 |阅读模式
1:
使用WSAEventSelect的IO模型,做了个TcpServer 和 TcpClient
Client用send()发送消息      


  1.     char szTest[30];
  2.     int nIndex = 0;
  3.     for (int i=0; i<20; i++)
  4.     {
  5.         memset(szTest, 0, sizeof(szTest));
  6.         ::sprintf(szTest, "It is a TCP Request! [Id=%d] \n", i);
  7.         ::send(s, szTest, sizeof(szTest), 0);
  8.         //::sendto(s, szTest, strlen(szTest), 0, (sockaddr*)&servAddr, sizeof(servAddr));
  9.         ++nIndex;
  10.     }
复制代码


    循环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:刚开始学这方面的,看点开头就开始码代码了,有些问题可能问的很幼稚。我先看书去了,大侠不吝赐教

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2007-11-30 16:46:00 | 显示全部楼层

Re:【求助】Winsock的编程的入门问题!

说到winsock底层是具体怎么做的,俺也是很迷糊啊?一直也没有找本书去深究。
只是写代码的时候,接收方要多长的数据就让它接足多长,如果没接够,就让它继续接,如果接够了,而且还剩数据,那就把它留给下次分析。

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2007-11-30 16:48:00 | 显示全部楼层

Re:【求助】Winsock的编程的入门问题!

求对这问题精通者出来讲解下?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-17 04:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表