MFC+opencv中已經可以顯示本地圖片和視頻,要怎么改可以顯示WIFI網路傳輸的視頻?
uj5u.com熱心網友回復:
加上CSocket處理網路資料就行了,不用考慮傳輸介質(WIFI/雙絞線)對你來說都一樣。uj5u.com熱心網友回復:
通過點擊“連接”按鈕,來連接網路,代碼如下,如何接受視頻流,快取??void CMFCApplication1link12Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控制元件通知處理程式代碼
netconn();
}
int netconn()
{
//第一步:加載socket庫函式
//**********************************************************
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1, 1);
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0) {
return 0;
}
if (LOBYTE(wsaData.wVersion) != 1 ||
HIBYTE(wsaData.wVersion) != 1) {
WSACleanup();
return 0;
}
int port = 8086;
SOCKET st = socket(AF_INET, SOCK_STREAM, 0);//初始化socket
struct sockaddr_in addr;//定義一個IP地址結構
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;//將addr結構的屬性定位為TCP/IP地址
addr.sin_port = htons(port);//將本地位元組順序轉化為網路位元組順序。
addr.sin_addr.s_addr = htonl(INADDR_ANY);//INADDR_ANY代表這個server上所有的地址
//將IP與server程式系結
if (bind(st, (struct sockaddr *) &addr, sizeof(addr)) == -1)
{
// printf("bind failed %s\n", strerror(errno));
AfxMessageBox(_T("bind failed!"));
return EXIT_FAILURE;
}
//server端開始listen,
if (listen(st, 20) == -1)
{
// printf("listen failed %s\n", strerror(errno));
AfxMessageBox(_T("listen failed!"));
return EXIT_FAILURE;
}
//client_st = 0;//client端socket
struct sockaddr_in client_addr;//表示client端的IP地址
memset(&client_addr, 0, sizeof(client_addr));
int len = sizeof(client_addr);
//accept會阻塞,直到有客戶端連接過來,accept回傳client的socket描述符
AfxMessageBox(_T("open client!"));
client_st = accept(st, (struct sockaddr *)&client_addr, &len);
if (client_st == -1)
{
// printf("accept failed %s\n", strerror(errno));
AfxMessageBox(_T("accept failed!"));
return EXIT_FAILURE;
}
HANDLE myThread = CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)recvsocket,
(VOID*)client_st,
0,
0);
return EXIT_SUCCESS;
}
void recvsocket(LPVOID lpParam)
{
int st = (int)lpParam;
while (1)
{
memset(s, 0, sizeof(s));
int rc = recv(st, s, sizeof(s), 0);
if (rc <= 0)//如果recv回傳小于等于0,代表socket已經關倍訓者出錯了
break;
}
return;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/75917.html
標籤:網絡及通訊開發
