Windows [server/client] 上与 C 的 TCP 连接
TCP connection with C on Windows [server/client]
我发现我应该使用 winsock...我试过这个例子:
http://www.binarytides.com/winsock-socket-programming-tutorial/
但是错误开始于这个函数 WSAStartup
。
我需要 client/server 连接...
编辑:
我使用 Windows XP、GCC 编译器和 Codeblock IDE...我收到此错误:
C:\Documents and
Settings\Administrator\Desktop\FunTool\main.c|15|undefined reference
to `WSAStartup@8'|
我正在尝试 运行 此代码:
/*
Initialise Winsock
*/
#include<stdio.h>
#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib") //Winsock Library
int main(int argc , char *argv[])
{
WSADATA wsa;
printf("\nInitialising Winsock...");
if (WSAStartup(MAKEWORD(2,2),&wsa) != 0)
{
printf("Failed. Error Code : %d",WSAGetLastError());
return 1;
}
printf("Initialised.");
return 0;
}
代码在 Visual Studio 2013 年编译并运行良好。
我不熟悉 Codeblock IDE,但我怀疑它忽略了 pragma
到 link 和 ws2_32.lib
,导致 linker错误。
根据其他 SO 答案,尝试打开 project > build options > linker settings
并添加 ws2_32.lib
。
我发现我应该使用 winsock...我试过这个例子:
http://www.binarytides.com/winsock-socket-programming-tutorial/
但是错误开始于这个函数 WSAStartup
。
我需要 client/server 连接...
编辑:
我使用 Windows XP、GCC 编译器和 Codeblock IDE...我收到此错误:
C:\Documents and Settings\Administrator\Desktop\FunTool\main.c|15|undefined reference to `WSAStartup@8'|
我正在尝试 运行 此代码:
/*
Initialise Winsock
*/
#include<stdio.h>
#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib") //Winsock Library
int main(int argc , char *argv[])
{
WSADATA wsa;
printf("\nInitialising Winsock...");
if (WSAStartup(MAKEWORD(2,2),&wsa) != 0)
{
printf("Failed. Error Code : %d",WSAGetLastError());
return 1;
}
printf("Initialised.");
return 0;
}
代码在 Visual Studio 2013 年编译并运行良好。
我不熟悉 Codeblock IDE,但我怀疑它忽略了 pragma
到 link 和 ws2_32.lib
,导致 linker错误。
根据其他 SO 答案,尝试打开 project > build options > linker settings
并添加 ws2_32.lib
。