小编use*_*919的帖子

UDP sendto()错误:参数无效

我们正在尝试应用基于UDP的协议,并且在sendto()函数中存在一些问题.

当我们尝试用ack响应写请求时,我们从sendto()函数得到"无效参数"

这是我们的代码:

int                sock;                  // Socket 
sockaddr_in_t      echoServAddr;          // Local address 
sockaddr_in_t      echoClntAddr;          // Client address 
unsigned int       cliAddrLen;            // Length of incoming message
data_packet_t      echoBuffer;
wrq_packet_t       wrqBuffer;
unsigned short     echoServPort;          // Server port 
int                recvMsgSize;           // Size of received message 
ack_packet_t      Ack;
struct timeval     timeout;
fd_set             fds;



/* Create socket for sending/receiving datagrams */
if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) perror("TTFTPERROR: socket() failed"); 

/* Construct local address structure */
memset(&echoServAddr, 0, sizeof(echoServAddr));
echoServAddr.sin_family = AF_INET;
echoServAddr.sin_addr.s_addr …
Run Code Online (Sandbox Code Playgroud)

c udp

4
推荐指数
1
解决办法
9454
查看次数

使用perl在'ifdef下创建数组字段

我正在编写一个创建名称数据库的脚本,这个数据库有不同的版本.我的脚本将版本作为输入(在没有输入的情况下它具有默认版本)每个数据库版本都基于前一版本,但包含一些其他名称.

我试图找到一种方法来定义我的数组中的一些enteries作为iversion的函数.因此我使用像verilog IFDEF这样的东西

例如:

my @DATABASE = (
  "Arik",
  "Ben",

  if ($version = 1.3) {
    "Suzie",
    "Dan",
  }

  "Roth"
);
Run Code Online (Sandbox Code Playgroud)

在这个例子中,名称Arik,Ben和Roth将在所有版本的数据库中,但Suzie和Dan将只在1.3版数据库中

有没有一个好方法呢?

perl

2
推荐指数
1
解决办法
47
查看次数

标签 统计

c ×1

perl ×1

udp ×1