Visual studio 2013 winsock服务器的错误C1083 visual studio 2013
我是这个网站的新手 我找了很多解决办法,但什么也没找到 我在另一个项目上编程了一个服务器和一个客户端,它正在工作,但我想重新编程以获得更好的结果 但我不知道为什么会出现一些错误:错误C1083:无法打开:“Debug\chatserver.pch”:没有这样的文件或目录c:\users\x\documents\visual studio 2013\projects\chatserver\chatserver\chatserver.cpp 在此错误之前,“itoa”函数上还有一个错误:C4996“itoa”POSIX。。。 (itoa职能部门正在处理我的第一个服务器项目) 此外,我在LNK 2011上对.obj有错误 代码如下: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“
#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++)