你好,我是纽比,去irda套接字。我有一个macbook,有一个内置的苹果IR循环。我使用的是visual studio 2013,
#include <af_irda.h>
#include <winsock2.h>
#incude <iostream>
using namespace std;
#pragma comment(lib,"ws2_32.lib")
int main()
{
WORD wVersion = MAKEWORD(2,2);
WSADATA wSaData;
if(WSAStartup(wVersion), &wSaData))
{
cout << "Failed to initialize winsock library!\n";
return 1;
}
int irSock = socket(AF_IRDA, SOCK_STREAM, 0);
if(irSock == SOCKET_ERROR)
{
cout << "Socket creation failed! error code: " << WSAGetLastError() << endl;
}
//the socket creation failed with 10047
cout << endl << endl << endl;
system("pause");
return 0;
}这是否意味着我的笔记本电脑没有irda适配器?如果是的话,那什么是红外接收器呢?我们不能用IR接收器来编写irda套接字应用程序吗??*请任何帮助都是非常感谢的。
发布于 2016-02-14 22:02:09
1-套接字创建失败,当不支持地址家族时,WSAGetLastError()返回10047。(错误不属于硬件,而属于平台)
在windows7上,8,10 (几乎所有新的windows7都不包括irDA支持)我们得到了这个错误,而在windows7上,linux的套接字创建成功了,但这并不意味着您的膝上型计算机/pc必须附带irDA适配器。
2- IR接收器不是irDA适配器: IR接收器只是一个读取IR命令的哑接收器(这很难!)IRDA是一种复杂的双向协议,涉及可靠的通信和确认,通常用于在手持设备和笔记本电脑或PC之间传输文件或模拟串行接口。或者,正如Wannabe所说,你想要一个红外接收器,因为IRDA不知道如何听远程命令。
https://stackoverflow.com/questions/33014581
复制相似问题