#include #include #include #include #include #define CHAN 4 main() { int fd, newfd, len, n; struct sockaddr_rc addr, remote; char buf[100]; if((fd = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)) < 0) { perror("socket"); exit(1); } addr.rc_family = AF_BLUETOOTH; addr.rc_channel = CHAN; bacpy(&addr.rc_bdaddr, BDADDR_ANY); if(bind(fd, (struct sockaddr*)&addr, sizeof(addr)) < 0) { perror("bind"); exit(1); } listen(fd, 1); len = sizeof(struct sockaddr_rc); if((newfd = accept(fd, (struct sockaddr*)&remote, &len)) < 0) { perror("accept"); exit(1); } printf("newfd = %d\n", newfd); n = recv(newfd, buf, sizeof(buf), 0); printf("received %d bytes\n", n); buf[n] = 0; printf("%s\n", buf); }