【发布时间】:2016-02-06 06:15:26
【问题描述】:
我想从嵌入式设备的特定 TCP 端口读取数据,然后将其发送到服务器。所以我的整个设备都有一个传感器连接到板上,例如,该传感器在 TCP 端口 6000 上发送一些数据。我的代码看起来像
// create socket
int sockrd = socket(AF_INET, SOCK_STREAM,0);
if(sockrd < 0)
{
std::cout<<"Can't create socket\n"<<std::endl;
exit(1);
}
// Name and bind socket
struct sockaddr_in addressrd;
addressrd.sin_family = AF_INET;
addressrd.sin_addr.s_addr = inet_addr("127.0.0.1");//Provide ip of the board
addressrd.sin_port=htons(6000); // TCP port of the board
bind(sockrd,(struct sockaddr*)&addressrd, sizeof(addressrd));
if(bind < 0)
{
std::cout<<"Can't bind properly\n"<<std::endl;
}
// declare a buffer to read from the tcp port of the device
char buffer[1024];
read(sockrd,&buffer,sizeof(buffer));
close(sockrd);
我不必担心服务器进程。我很难理解如何仅针对嵌入式设备执行此操作,这意味着只有我的嵌入式设备从其各自的 tcp 端口读取数据,然后将其发送到服务器。我的代码将在内置 linux 的板上的处理器上运行。
【问题讨论】:
-
显示你的代码并解释它做什么和不做什么。如果您没有任何代码,请先阅读教程。
标签: sockets networking ip embedded-linux tcp-ip