客户端程序过程
一个Socket客户端程序的典型过程如下。- 客户端程序在运行后,首先需要使调用WSAStartup函数,确保进程加载socket应用程序所必须的环境和库文件,如Ws2_32.dll。
- 调用函数Socket创建SOCKET,在创建时需指定使用的网络协议、连接类型等。
- 填充SOCKADDR结构,指定服务端的地址、端口等。
- 调用connect函数连接到服务端。
- 如果连接成功,就可以使用send和recv函数发送和接收数据。
- 在数据传输完成后,可调用closesocket函数关闭Socket。
- 调用WSACleanup函数释放资源。
客户端程序
新建win32项目控制台程序 Win32Client项目:
// Win32Client.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <stdio.h>
#include <WinSock2.h>
#pragma comment(lib,"wsock32.lib")
#define DEFIP "127.0.0.1" //本地地址
#define DEFPORT 10000 //端口要大于1024
void main()
{
WSADATA wsaData;
LPVOID recvbuf;
if (WSAStartup(MAKEWORD(2,2),&wsaData) != NO_ERROR)
{
printf("Error at WSAStartup()\n");
}
SOCKET sockfd=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (sockfd == INVALID_SOCKET