📄 client.c
字号:
//Infrared Socket Client
//#include <windows.h>
#include <stdio.h>
#include <time.h>
#include <sys/socket.h>
#include <sys/time.h>
//#include <sys/ioct1.h>
#include <sys/stat.h>
#include <errno.h>
#include <string.h>
#include <linux/types.h>
#include <sys/types.h>
#include <linux/socket.h>
#include <signal.h>
#include <string.h>
//#include <netinet/in.h>
//#include <netdb.h>
//#include <pthread.h>
//#include <fcnt1.h>
#include <unistd.h>
//#include <net/irda/af_irda.h>
#include <linux/irda.h>
//#include <af_irda.h>
#ifndef AF_IRDA
#define AF_IRDA 23
#endif /* AF_IRDA */
//typedef struct _SOCKADDR_IRDA {
//u_short irdaAddressFamily;
// u_char irdaDeviceID[4];
//char irdaServiceName[25];
//} SOCKADDR_IRDA;
#define NumRetries 5;
int main ( int argc, char **argv )
{
int listenfd;
struct sockaddr_irda client_addr;
struct irda_device_list devlist;
int devlistlen = sizeof(devlist);
int cnt=0,idx=0;
char buffer[20] = "hello,world!";
client_addr.sir_family=AF_IRDA;
strncpy(client_addr.sir_name, "MyServer", 25);
client_addr.sir_lsap_sel = LSAP_ANY;
while ((devlist==0) && (cnt<=NumRetries))
{
getsockopt (listenfd,SOL_IRLMP,IRLMP_ENUMDEVICES,(char *)& devlist,&devlistlen);
cnt++;
sleep(1000);
}
if(cnt>NumRetries)
{
printf("Server could not be located!\n");
}
else
{ // get the server socket address
for(idx=0; idx<=3;idx++)
client_addr.irdaDevice[idx]=devlist.Device[0].irdaDeviceID[idx];
connect(listenfd,(struct sockaddr *)&client_addr,sizeof(sockaddr_irda));
send (listenfd,buffer,20,0);
recv (listenfd,"hello client",sizeof("hello client")+1,0);
}
return 0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -