c++ 通过socket(网络套接字)传输图片(客户端)

来源:互联网 发布:手机看cad软件 编辑:程序博客网 时间:2024/05/01 00:57

这是代码链接: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;elsedata.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();


原创粉丝点击