日期:2014-05-16  浏览次数:20849 次

一个在linux网络编成下使用sin()函数的问题
各位好:
  我写了个在linux下运用UDP进行数据传输的程序如下:
"  
  ..
  double fx;

  int port;//port use to send message
  socklen_t sin_len1;
  int socket_descriptor;
  struct sockaddr_in sin;
  struct sockaddr_in address;//modify in 5.31  
  port=6789;
  bzero(&address,sizeof(address)); /*empty date structure*/
  address.sin_family=AF_INET;
  address.sin_addr.s_addr=inet_addr(ip);//192.168.1.21 it will broadcast to all robot in 192.168.1.0
  address.sin_port=htons(port);  
/*create a UDP socket*/
  socket_descriptor=socket(AF_INET,SOCK_DGRAM,0);

  fy=1400*sin(80);-------------------------------(1)
  sendto(socket_descriptor,&fx,sizeof(fx),
  0,(struct sockaddr *)&address,sizeof(address));
..
"
在编译过程中提示在(1)处:error:no match for call to '(sockaddr_in)(int)'我估计是sin()函数与网络方面的函数或变量向冲突.请各位老师给些意见,该如何完成在如上网络程序中求一个值的正弦值的方法.万分感谢!!!!


------解决方案--------------------
struct sockaddr_in sin; 给这个改名....