基于socket的实时视频传输大概需要以下基本函数:
**在服务端:建立socket-bind-listen-accept
在客户端:建立socket-connect
通俗看来说就是在创建socket后服务端的作用是连接服务端的IP,端口然后聆听等待客户端的连接之后接受服务端的数据,而客户端创建socket后就是连接服务端,传送数据。话不多说先上代码
SERVER:
#include "stdafx.h"
#include <stdio.h>
#include <winsock2.h>
#include <cv.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#pragma comment(lib,"ws2_32.lib")
int main(void)
{
//初始化WSA
WORD sockVersion = MAKEWORD(2, 2);//使用的是WINSOCK 2版本
WSADATA wsaData;
if (WSAStartup(sockVersion, &wsaData) != 0)
{
return 0;
}
SOCKET slisten = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (slisten == INVALID_SOCKET)
{
printf("socket error !");
return 0;
}
sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(8888);//连接端口