注册 登录
编程论坛 C++教室

套接字问题 求大家帮忙看看

goudanerer 发布于 2011-04-09 08:23, 320 次点击
// server.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "server.h"
#include "winsock.h"

#pragma comment(lib, "ws2_32")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// The one and only application object

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    WSADATA wsadata;
    WORD ver = MAKEWORD(2,2);
    WSAStartup(ver, &wsadata);
   
    SOCKET server ;
    char password[10] ;
   
    server = socket(AF_INET, SOCK_STREAM, 0);
    SOCKADDR_IN serveradd ;
    serveradd.sin_family = AF_INET ;
    serveradd.sin_port= htons(12345) ;
    serveradd.sin_addr.S_un.S_addr = htonl(INADDR_ANY) ;
    bind(server, (SOCKADDR*)&serveradd, sizeof(serveradd));
    listen(server, 20);
    SOCKET eds ;
        while(true)
    {
        if(    eds = accept(server, 0, 0)!=INVALID_SOCKET)
        {
         if (send(eds, password, sizeof(password), 0)!=SOCKET_ERROR) // 就是这里总是返回SOCKET_ERROR  不知道怎么回事啊!!
         {
           cout <<  "等待密码验证\n" ;
         }
        }
    }

   
}
3 回复
#2
goudanerer2011-04-09 08:25
这是服务端的代码  验证出了问题 但是不知道为什么send发送不出去
#3
rjsp2011-04-09 09:11
WSAGetLastError
#4
寒风中的细雨2011-04-09 10:33
把你的端口改下 4999 试过这个可以
1