这是代码链接:http://download.csdn.net/download/sea_muxixi/9953747
先简单讲一下流程:
WinSock初始化->创建Socket->连接connect->传输send->关闭close
#pragma comment(lib,"ws2_32.lib")
#include <winsock2.h>
1:WinSock初始化
wVersionRequested = MAKEWORD(2, 2);
result = WSAStartup(wVersionRequested, &wsaData);
if (result != 0)
{
printf("WSAStartup() failed!\n");
return 0;
}
2:创建Socket
sConnect = socket(AF_INET, SOCK_STREAM, 0);
if (sConnect == INVALID_SOCKET)
{
WSACleanup();
cout << "socket() faild!" << endl;
return 0;
}
3:连接connect
result = connect(sConnect, (struct sockaddr *)&saServer, sizeof(saServer));
if (result == SOCKET_ERROR)
{
printf("connect() failed!\n");
closesocket(sConnect); //关闭套接字
WSACleanup();
return 0;
}
4:传输send
while (1)
{
sendPicture.read(data.message, 1024);
pictureLengh -= 1024;
if (pictureLengh <= 0)
data.rest = 0;
else
data.rest = 1;
result = send(sConnect, (char *)&data, sizeof(struct Data), 0);
cout << "发送第" << num++ << "信息" << endl;
if (data.rest == 0){
cout << "over" << endl;
break;
}
if (result == SOCKET_ERROR)
{
printf("send() failed!\n");
}
}
5:关闭close
closesocket(sConnect);
WSACleanup();