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

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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Simon|

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值