rewrite packets to send in jpeg form
This commit is contained in:
27
client.cpp
27
client.cpp
@@ -4,13 +4,15 @@
|
||||
#include <netinet/in.h>
|
||||
#include <sys/socket.h>
|
||||
#include <unistd.h>
|
||||
#include <packets/ImagePacket.h>
|
||||
#include "transfer.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main() {
|
||||
cv::VideoCapture cap = cv::VideoCapture(0);
|
||||
// create video capture
|
||||
//cv::VideoCapture cap = cv::VideoCapture(0);
|
||||
|
||||
// create socket
|
||||
int clientSocket = socket(AF_INET, SOCK_STREAM, 0);
|
||||
|
||||
// specifying address
|
||||
@@ -19,26 +21,19 @@ int main() {
|
||||
serverAddress.sin_port = htons(8080);
|
||||
serverAddress.sin_addr.s_addr = INADDR_ANY;
|
||||
|
||||
cv::Mat image = cv::Mat::zeros(cv::Size(640, 480), CV_8UC3);
|
||||
ImagePacket packet = ImagePacket(&image, 0);
|
||||
cv::Mat image = cv::Mat(cv::Size(640, 480), CV_8UC3, cv::Scalar(255, 0, 0));
|
||||
|
||||
// sending connection request
|
||||
connect(clientSocket, (struct sockaddr*)&serverAddress,
|
||||
connect(clientSocket, reinterpret_cast<sockaddr *>(&serverAddress),
|
||||
sizeof(serverAddress));
|
||||
|
||||
unsigned long pos = 0;
|
||||
unsigned long len = image.total() * image.elemSize();
|
||||
char buffer[IMAGEPACKET_SIZE];
|
||||
|
||||
cout << "Image length " << len << endl;
|
||||
// create buffer for serialization
|
||||
vector<uchar> imgbuf;
|
||||
|
||||
while (true) {
|
||||
cap.read(image);
|
||||
packet = ImagePacket(&image, pos);
|
||||
packet.serialize(buffer);
|
||||
send(clientSocket, buffer, sizeof(buffer), 0);
|
||||
cout << "Sent packet with index " << pos << endl;
|
||||
pos = (pos + SLICE_SIZE) % len;
|
||||
//cap.read(image);
|
||||
cout << "Sending image" << endl;
|
||||
sendImage(clientSocket, image, imgbuf);
|
||||
}
|
||||
|
||||
close(clientSocket);
|
||||
|
Reference in New Issue
Block a user