游戏开发论坛

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

SOCKET也抓狂:(SOCKET)wParam?--求助

[复制链接]

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
发表于 2007-12-3 13:17:00 | 显示全部楼层 |阅读模式
下面是拷贝的代码片段
LRESULT OnSockMsg(WPARAM wParam, LPARAM lParam)
{
        //#define WSAGETSELECTEVENT(lParam)  LOWORD(lParam)
           switch (WSAGETSELECTEVENT(lParam))
        {
                case FD_CONNECT://连接建立
                {
                        InsertLogMsg(_T("肺弊牢 霸捞飘 辑滚客 立加 登菌嚼聪促."));

                        break;
                }
                case FD_CLOSE://关闭
                {
                        break;
                }
                case FD_READ://收到数据
                {
                        char        szMsg[4096];

                        int nLen = recv((SOCKET)wParam, szMsg, sizeof(szMsg), 0);
//客户端数据接收,接收数据的缓冲区,缓冲区的大小,接收标记

                        szMsg[nLen] = '\0';

                        InsertLogMsg(szMsg);

                        break;
                }
        }

        return 0;
}

此处(SOCKET)wParam如何理解?
szMsg[nLen] = '\0';表示在字符串数组后加空格么?
谢谢先

0

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2007-12-3 17:20:00 | 显示全部楼层

Re:SOCKET也抓狂:(SOCKET)wParam?--求助

szMsg[nLen] = '\0';好像是将数组元素全部清零吧.

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2007-12-4 11:12:00 | 显示全部楼层

Re:SOCKET也抓狂:(SOCKET)wParam?--求助

老实说,这里的szMsg[nLen] = '\0';没有意义。
0结尾字符串的时候,加个这句还有意义,可这里是网络数据,弄不好接受的数据里某个字节就为0;
所以,数据拷贝时,memcpy之类的就行了,而不能随意strcpy

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-17 19:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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