c++ - Visual C++ 程序提示 net framework

标签 c++ visual-c++ winsock

我在 Visual C++ 2010 中编写了一个简单的客户端程序,它使用 winsock 连接到客户端。当我尝试在另一台计算机上运行该程序时,它会提示缺少 Net Framework。 我想知道为什么会这样?我的代码中有什么需要网络框架?

错误信息:

application, you must first install one of the following versions of the .NET Framework v4.0...etc

这是我的代码

#pragma once
#pragma comment(lib, "Ws2_32.lib")

#include "stdafx.h"
#include <sdkddkver.h>
#include <WinSock2.h>
#include <Windows.h>
#include <iostream>
#include <string>
#include <time.h>
#include <cstring>
#include <sstream>

#define SCK_VERSION2 0x020

using namespace std;

void main() {
long Successful;
WSAData WinSockData;
WORD DLLVersion;
DLLVersion = MAKEWORD(2,1);
Successful = WSAStartup(DLLVersion, &WinSockData);
int sd,rcv,i,myint = 1;

hostent *host = gethostbyname("localhost");
char * myhostadd = inet_ntoa (*((struct in_addr *) host->h_addr_list[0]));

string memzi2,memzi,Converter;
char Message[200],tell[200] = "haa";

SOCKADDR_IN Address;

SOCKET sock;
sock = socket(AF_INET,SOCK_STREAM,NULL);

Address.sin_addr.s_addr = inet_addr(myhostadd);
Address.sin_family = AF_INET;
Address.sin_port = htons(7177);

cout << "Connecting to server...";
Successful = connect(sock, (SOCKADDR*)&Address, sizeof(Address));
u_long iMode=1;
ioctlsocket(sock,FIONBIO,&iMode);

if (Successful == 0) {
    cout << "Connected. "<< endl;

    for (;;++i) {
            std::stringstream convert2;
            convert2 << myint;
            memzi2 = convert2.str();
            std::cout << "Client: " << memzi2 << std::endl;
            const char * c = memzi2.c_str();

        sd = send(sock, c, sizeof(tell), NULL);
        cout << "Server: ";
        rcv = recv(sock,Message,sizeof(Message),NULL);
        Converter = Message;
        cout << Converter << endl;

        std::stringstream convert1(Converter);
        convert1 >> myint;
        if (myint > 5000) {
        myint = 1;
        }
        ++myint;

    }

        closesocket(sock);

}
else cout << "Failed." << endl;         

cout << "\n\n\t";
system("pause");
exit(1);
}

提前致谢!

最佳答案

可以是一个简单的原因,它将使用 C++ CLI,即公共(public)语言运行时。转到项目属性并修复它,它不会再显示。

关于c++ - Visual C++ 程序提示 net framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569406/

相关文章:

c++ - 优雅地关闭 TCP 套接字

sockets - 为什么我没有收到服务器的完整响应?

c++ - 将 COM dll 与非托管 C++ 一起使用

ssl - 在 C++ 代码 (WinSock) 中实现 SSL 隧道

c++ - Visual C++ BigInt 和 SecureRandom?是否有带有 modPow 的 BigInt 库?

c++ - 虚拟重载与 `std::function` 成员?

c++ - COM 对象 DLL 加载问题

c++ - 使用 Visual Studio 编译器在编译时获取 vector 元素的大小(即使它是空的)

c - 编写 Tcl C 扩展共享库 [链接错误]

c++ - 内联命名空间函数时出错