Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2013 winsock服务器的错误C1083 visual studio 2013_Visual Studio 2013 - Fatal编程技术网

Visual studio 2013 winsock服务器的错误C1083 visual studio 2013

Visual studio 2013 winsock服务器的错误C1083 visual studio 2013,visual-studio-2013,Visual Studio 2013,我是这个网站的新手 我找了很多解决办法,但什么也没找到 我在另一个项目上编程了一个服务器和一个客户端,它正在工作,但我想重新编程以获得更好的结果 但我不知道为什么会出现一些错误:错误C1083:无法打开:“Debug\chatserver.pch”:没有这样的文件或目录c:\users\x\documents\visual studio 2013\projects\chatserver\chatserver\chatserver.cpp 在此错误之前,“itoa”函数上还有一个错误:C4996“

我是这个网站的新手

我找了很多解决办法,但什么也没找到

我在另一个项目上编程了一个服务器和一个客户端,它正在工作,但我想重新编程以获得更好的结果

但我不知道为什么会出现一些错误:错误C1083:无法打开:“Debug\chatserver.pch”:没有这样的文件或目录c:\users\x\documents\visual studio 2013\projects\chatserver\chatserver\chatserver.cpp

在此错误之前,“itoa”函数上还有一个错误:C4996“itoa”POSIX。。。 (itoa职能部门正在处理我的第一个服务器项目)

此外,我在LNK 2011上对.obj有错误

代码如下:

#include "stdafx.h"

#include <WinSock2.h>
#include <Windows.h>
#include <iostream>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <cstdlib>


#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#pragma comment(lib, "Ws2_32.lib")


#define DEFAULT_PORT "27015"

using namespace std;

SOCKET ListenSocket = INVALID_SOCKET;
SOCKET ClientSocket;
SOCKET* Connessioni;

int nConn = 0;


struct Buffer
{
    int ID;
    char nickname[20];
    char messaggio[1024];
};


int ServerThread(int ID)
{
    Buffer buff;

    char* Recv = new char[1024];
    char* Pnick = new char[20];
    char* Send = new char[1024];
    Recv = NULL;
    Pnick = NULL;
    Send = NULL;

    for (;;){
        if (recv(Connessioni[ID], Recv, 1024, NULL) && recv(Connessioni[ID], Pnick, 20, NULL))
            buff.ID = ID;
        memcpy(buff.nickname, Pnick, 1024);
        memcpy(buff.messaggio, Recv, 1024);
        memcpy(Send, &buff, sizeof(Buffer));

        for (int i = 0; i != nConn; i++)
        {
            if (Connessioni[i] == Connessioni[ID])
            {
            }
            else{
                send(Connessioni[i], Send, sizeof(Buffer), NULL);
            }
        }
        delete Recv;
        delete Send;
        delete Pnick;
        delete &Recv;
        delete &Send;
        delete &Pnick;
    }

    return 0;
}

int InitWinSock()
{
    int RetVal = 0;
    WSAData wsaData;
    WORD DllVersion = MAKEWORD(2, 2);
    RetVal = WSAStartup(DllVersion, &wsaData);
    if (RetVal != 0)
        MessageBoxA(NULL, "WSA error, please retry", "Error", MB_OK | MB_ICONERROR);
    return RetVal;
}

int main()
{

    struct addrinfo *result = NULL, *ptr = NULL, hints;

    ZeroMemory(&hints, sizeof (hints));
    hints.ai_family = AF_INET;
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_protocol = IPPROTO_TCP;
    hints.ai_flags = AI_PASSIVE;

    int controllo_struct = getaddrinfo(NULL,DEFAULT_PORT, &hints, &result);
    if (controllo_struct != 0)
    {
        MessageBoxA(NULL, "getinfo failes \n", "Error", MB_OK | MB_ICONERROR);
        WSACleanup();
        return 1;
    }

    ListenSocket = socket(result->ai_family, result->ai_socktype, result->ai_protocol);
    if (ListenSocket == INVALID_SOCKET)
    {
        MessageBoxA(NULL, "Error at Socket, please retry \n", "Error", MB_OK | MB_ICONERROR);
        freeaddrinfo(result);
            WSACleanup();
    }

    int controllo_bind = bind(ListenSocket,result->ai_addr,(int)result->ai_addrlen);
    if (controllo_bind == SOCKET_ERROR)
    {
        MessageBoxA(NULL, "bind ha fallito \n", "Error", MB_OK | MB_ICONERROR);
        cout << WSAGetLastError() << endl;
        freeaddrinfo(result);
        closesocket(ListenSocket);
        WSACleanup();
        return 1;
    }

    freeaddrinfo(result);

    if (listen(ListenSocket, SOMAXCONN) == SOCKET_ERROR){
        MessageBoxA(NULL, "Listen ha fallito \n", "Error", MB_OK | MB_ICONERROR);
        cout << WSAGetLastError() << endl;
        closesocket(ListenSocket);
        return 1;
    }

    ClientSocket = INVALID_SOCKET;

    int addrlen = sizeof(hints);

    for (;;){
        if (ClientSocket = accept(ListenSocket, (SOCKADDR*)&hints, &addrlen))
            Connessioni = (SOCKET*)calloc(SOMAXCONN, sizeof(hints));
        cout << "connessione accettata " << endl;
            Connessioni[nConn] = ClientSocket;
            char* nickname = new char[20];
            ZeroMemory(nickname, sizeof(nickname));
            //itoa(nConn,nickname,10);
            //nickname = (char*)nConn;
            send(Connessioni[nConn], nickname, sizeof(nickname), NULL);
            ++nConn;
            CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)ServerThread, (LPVOID)(nConn - 1), NULL, NULL);
            delete nickname;
    }
    return 0;
}
#包括“stdafx.h”
#包括
#包括
#包括
#包括
#包括
#包括
#如果NDEF WIN32_LEAN_和_MEAN
#定义WIN32_精益_和_平均值
#恩迪夫
#pragma注释(lib,“Ws2_32.lib”)
#定义默认_端口“27015”
使用名称空间std;
套接字ListenSocket=无效的\u套接字;
插座客户端插座;
插座*连接;
int ncon=0;
结构缓冲区
{
int-ID;
字符昵称[20];
char messaggio[1024];
};
int服务器线程(int ID)
{
缓冲缓冲缓冲;
char*Recv=新字符[1024];
char*Pnick=新字符[20];
char*Send=新字符[1024];
Recv=NULL;
Pnick=NULL;
Send=NULL;
对于(;;){
if(recv(Connessioni[ID],recv,1024,NULL)和&recv(Connessioni[ID],Pnick,20,NULL))
buff.ID=ID;
memcpy(buff.昵称,Pnick,1024);
memcpy(buff.messaggio,Recv,1024);
memcpy(发送和buff,sizeof(缓冲区));
for(int i=0;i!=ncon;i++)
{
if(连接i[i]==连接i[ID])
{
}
否则{
send(Connessioni[i],send,sizeof(Buffer),NULL);
}
}
删除Recv;
删除发送;
删除Pnick;
删除&Recv;
删除并发送;
删除&Pnick;
}
返回0;
}
int InitWinSock()
{
int-RetVal=0;
WSAData WSAData;
单词DllVersion=MAKEWORD(2,2);
RetVal=WSAStartup(DllVersion和wsaData);
如果(返回值!=0)
MessageBoxA(NULL,“WSA错误,请重试”,“错误”,MB_OK | MB_ICONERROR);
返回返回;
}
int main()
{
struct addrinfo*result=NULL,*ptr=NULL,提示;
零内存(&提示,sizeof(提示));
hits.ai_family=AF_INET;
hits.ai_socktype=SOCK_流;
hits.ai_protocol=IPPROTO_TCP;
hits.ai_flags=ai_被动;
int controllo_struct=getaddrinfo(NULL、默认端口、提示和结果);
if(controllo_struct!=0)
{
MessageBoxA(NULL,“getinfo失败”,“错误”,MB|U OK | MB|U ICONERROR);
WSACleanup();
返回1;
}
ListenSocket=socket(结果->ai_族,结果->ai_socktype,结果->ai_协议);
if(ListenSocket==无效的_套接字)
{
MessageBoxA(NULL,“套接字错误,请重试”,“错误”,MB_OK | MB_ICONERROR);
freeaddrinfo(结果);
WSACleanup();
}
int controllo_bind=bind(ListenSocket,result->ai_addr,(int)result->ai_addrlen);
if(controllo\u bind==套接字错误)
{
MessageBoxA(NULL,“绑定ha fallito\n”,“错误”,MB|U OK | MB|U ICONERROR);
无法解决:

禁用:“预编译头”


在c/c++->all options->“预编译头(已选:否)

c:\users\x\documents\visual studio 2013\projects\chatserver\chatserver\chatserver.cpp是否存在?如果存在,您当前登录的用户是谁?是的,它存在!我想……我有chatserver文件(VC++)