vc winsocket

来源:百度知道 编辑:UC知道 时间:2024/09/21 05:39:39
谁可以给个比较完美的winsocket编成教程

好像别人都不肯教一样,

爱解释不解释, 弄的代码都是错的. 没声明的没声明参数.

哎~~

难道就没有比较精细一点的教程了吗?

要比较详细的.简单弄几句 socket s; wsdword wsd 的可以滚.

//服务器端:

#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")

SOCKET g_sock = NULL;
int g_nPort = 5000;

bool InitSocket()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
SOCKADDR_IN addr;

wVersionRequested = MAKEWORD(2, 2);
err = WSAStartup(wVersionRequested, &wsaData);

if (err != 0)
{
return false;
}

if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)
{
WSACleanup();
return false;
}

addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addr.sin_port = htons(g_nPort);
addr.sin_family = AF_INET;

g_sock = socket(AF_INET, SOCK_STREAM, 0);
bind(g_sock, (SOCKADDR*)&addr, sizeof(SOCKADDR));
listen(g_sock, SOMAXCONN);

return true;
};

void ClearSocket()
{
if (g_sock != NULL)
{