基于websocket协议 c++语言写的客户端
适合入门者学习
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-09-07 16:51 client
目录 0 2018-09-03 19:38 client.vs
目录 0 2018-09-03 19:38 client.vsclient
目录 0 2018-09-03 19:38 client.vsclientv14
文件 33792 2018-09-07 16:51 client.vsclientv14.suo
目录 0 2018-09-03 19:38 clientclient
文件 5359 2018-08-31 16:52 clientclientclient.cpp
文件 955 2018-07-05 11:41 clientclientclient.h
文件 7924 2018-09-05 10:34 clientclientclient.vcxproj
文件 1066 2018-07-04 14:08 clientclientclient.vcxproj.filters
目录 0 2018-09-03 19:38 clientclientx64
目录 0 2018-09-05 10:34 clientclientx64Debug
文件 184 2018-09-05 10:35 clientclientx64Debugclient.log
文件 316149 2018-09-05 10:34 clientclientx64Debugclient.obj
目录 0 2018-09-05 10:35 clientclientx64Debugclient.tlog
文件 1430 2018-09-05 10:34 clientclientx64Debugclient.tlogCL.command.1.tlog
文件 38716 2018-09-05 10:34 clientclientx64Debugclient.tlogCL.read.1.tlog
文件 556 2018-09-05 10:34 clientclientx64Debugclient.tlogCL.write.1.tlog
文件 207 2018-09-05 10:35 clientclientx64Debugclient.tlogclient.lastbuildstate
文件 2704 2018-09-05 10:34 clientclientx64Debugclient.tloglink.command.1.tlog
文件 3588 2018-09-05 10:34 clientclientx64Debugclient.tloglink.read.1.tlog
文件 538 2018-09-05 10:34 clientclientx64Debugclient.tloglink.write.1.tlog
文件 1420288 2018-09-05 10:34 clientclientx64Debugvc140.idb
文件 937984 2018-09-05 10:34 clientclientx64Debugvc140.pdb
文件 34828288 2018-09-07 16:51 clientclient.VC.db
文件 2059 2018-09-06 14:26 clientclient.sln
目录 0 2018-09-03 19:38 clientx64
目录 0 2018-09-03 19:38 clientx64Debug
文件 111616 2018-09-05 10:34 clientx64Debugclient.exe
文件 602424 2018-09-05 10:34 clientx64Debugclient.ilk
文件 2125824 2018-09-05 10:34 clientx64Debugclient.pdb
............此处省略1个文件信息
#include “client.h“
DWORD WINAPI SendMessageThread(LPVOID IpParameter)
{
while (1) {
string talk;
getline(cin talk);
//WaitForSingleobject(bufferMutex INFINITE); // P(资源未被占用)
if (“quit“ == talk) {
talk.push_back(‘ ‘);
// send(sockClient talk.c_str() talk.size() 0);
send(sockClient talk.c_str() 200 0);
break;
}
else {
talk.append(“
“);
}
printf(“
I Say:(“quit“to exit):“);
cout << talk;
// send(sockClient talk.c_str() talk.size() 0); // 发送信息
int len=send(sockClient talk.c_str() 200 0); // 发送信息
//ReleaseSemaphore(bufferMutex 1 NULL); // V(资源占用完毕)
}
return 0;
}
DWORD WINAPI ReceiveMessageThread(LPVOID IpParameter)
{
//recv;
inform config_data;
recv(sockClient (char*)(&config_data) 500 0);
int IMG_WIDTH = config_data.width;
int IMG_HEIGHT = config_data.height;
int CHANNELS = config_data.channels;
//int BUFFER_SIZE = config_data.buffer_size;
int LEAST_COMMON_MULTIPLE = config_data.least_common_multiple;
//send();
send(sockClient “1“ 5 0);
Mat img(IMG_HEIGHT IMG_WIDTH CV_8UC1 Scalar(0));
//待接收的图像数据的格式结构体
struct recvbuf
{
//char buf[BUFFER_SIZE];
char buf[100000];
//char buf;
//int length;
int flag;
};
int needRecv = sizeof(recvbuf); //28804
int count = 0;
extern int errno;
recvbuf data;
while (1)
{
for (int i = 0; i < LEAST_COMMON_MULTIPLE; i++)
{
int pos = 0;
int len0 = 0;
while (pos < needRecv)
{
len0 = recv(sockClient (char*)(&data) + pos needRecv - pos 0);
//cout << len0 << endl;
if (len0 < 0)
{
printf(“Server Recieve Data Failed!
“);
return -1;
}
pos += len0;
}
count = count + data.flag;
int num1 = IMG_HEIGHT / LEAST_COMMON_MULTIPLE * i;
for (int j = 0; j < IMG_HEIGHT / LEAST_COMMON_MULTIPLE; j++)
{
int num2 = j * IMG_WIDTH * CHANNELS;
uchar* ucdata = img.ptr(j + num1);
for (int k = 0; k < IMG_WIDTH * CHANNELS; k++)
{
ucdata[k] = data.buf[num2 + k];
}
}
if (data.flag == 2)
{
if (count == LEAST_COMMON_MULTIPLE+1)
{
imshow(“client“img);
cvWaitKey(1);
count = 0;
}
else
{
count = 0;
i = 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-09-07 16:51 client
目录 0 2018-09-03 19:38 client.vs
目录 0 2018-09-03 19:38 client.vsclient
目录 0 2018-09-03 19:38 client.vsclientv14
文件 33792 2018-09-07 16:51 client.vsclientv14.suo
目录 0 2018-09-03 19:38 clientclient
文件 5359 2018-08-31 16:52 clientclientclient.cpp
文件 955 2018-07-05 11:41 clientclientclient.h
文件 7924 2018-09-05 10:34 clientclientclient.vcxproj
文件 1066 2018-07-04 14:08 clientclientclient.vcxproj.filters
目录 0 2018-09-03 19:38 clientclientx64
目录 0 2018-09-05 10:34 clientclientx64Debug
文件 184 2018-09-05 10:35 clientclientx64Debugclient.log
文件 316149 2018-09-05 10:34 clientclientx64Debugclient.obj
目录 0 2018-09-05 10:35 clientclientx64Debugclient.tlog
文件 1430 2018-09-05 10:34 clientclientx64Debugclient.tlogCL.command.1.tlog
文件 38716 2018-09-05 10:34 clientclientx64Debugclient.tlogCL.read.1.tlog
文件 556 2018-09-05 10:34 clientclientx64Debugclient.tlogCL.write.1.tlog
文件 207 2018-09-05 10:35 clientclientx64Debugclient.tlogclient.lastbuildstate
文件 2704 2018-09-05 10:34 clientclientx64Debugclient.tlogli
文件 3588 2018-09-05 10:34 clientclientx64Debugclient.tlogli
文件 538 2018-09-05 10:34 clientclientx64Debugclient.tlogli
文件 1420288 2018-09-05 10:34 clientclientx64Debugvc140.idb
文件 937984 2018-09-05 10:34 clientclientx64Debugvc140.pdb
文件 34828288 2018-09-07 16:51 clientclient.VC.db
文件 2059 2018-09-06 14:26 clientclient.sln
目录 0 2018-09-03 19:38 clientx64
目录 0 2018-09-03 19:38 clientx64Debug
文件 111616 2018-09-05 10:34 clientx64Debugclient.exe
文件 602424 2018-09-05 10:34 clientx64Debugclient.ilk
文件 2125824 2018-09-05 10:34 clientx64Debugclient.pdb
............此处省略1个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)