标题:关于soclet网络编程中send的一个问题!高手帮忙一下!!!
只看楼主
lsd98
Rank: 2
等 级:论坛游民
帖 子:51
专家分:26
注 册:2010-3-30
结帖率:76.92%
 问题点数:0 回复次数:0 
关于soclet网络编程中send的一个问题!高手帮忙一下!!!
程序代码:
void SocketNet(HWND hwnd)
{
    WSADATA wsaData;
    //初始化Socket库
    WSAStartup(MAKEWORD(2,2),&wsaData);
    //创建一根电线
    SOCKET sock = socket(AF_INET, SOCK_STREAM,IPPROTO_TCP);
    if(sock!=INVALID_SOCKET)
    {
        MessageBox(hwnd,TEXT("套接字创建成功!"),"",MB_OK);
    }
    SOCKADDR_IN sa;
    sa.sin_family=AF_INET;
    //设置电线连接服务器端的端口
    sa.sin_port = htons(1500);
    //主机名得到ip地址
    sa.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");//本地主机
    if(connect(sock,(SOCKADDR *)&sa,sizeof(sa))==SOCKET_ERROR)
    {
    ShowError();
    return;
    }

    //做的事情
    char buffer[256];
    ZeroMemory(buffer,sizeof(buffer)/sizeof(char));
    //接收服务器发送的消息
    recv(sock,buffer,256,0);
    ListBox_InsertString(GetDlgItem(hwnd,IDC_LISTINFO),-1,buffer);
    int i=send(sock,TEXT("服务器,收到没?"),16,0);---------------------》经过检查测试
    TCHAR s[256];                                  ---------------------》发现返回值i的值总是等于
    ZeroMemory(s,sizeof(s)/sizeof(char));          ---------------------》send里面的字符串长度一样(这里是16)
    wsprintf(s,"%i",i);                            ---------------------》我认为send处于阻塞状态,为什么无法
    MessageBox(hwnd,s,"",MB_OK);                   ---------------------》发送到服务端???????
    closesocket(sock);
    WSACleanup();
}
高手帮忙看看上面的问题,
我在服务端用recv接收这个send发送的这段字符,客户端发送不成功,服务端recv返回值为0,表明接收成功了!;
为什么客户端发布出去?????????
搜索更多相关主题的帖子: 网络 send soclet 
2010-04-28 21:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-304784-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179727 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved