我正在尝试在 Linux 中创建一个客户端以允许发送 UDP 数据包。到目前为止,程序似乎正确地形成了所有部分,但是当我尝试发送数据时,程序无法发送数据包。
我把代码放在这里,代码的示例输出如下:
jeremiah@ubuntu:~/Documents/Networking 2/Lab3/client$ sudo ./a.out 192.168.1.128 22222 巨大的成功 苏联帝国同志:SVN -> sin_family:2 苏联帝国同志:SVN -> sin_port:52822 苏联帝国同志:SVN -> sin_addr:-2147374912 注意同志:输入消息:红色 帝国苏联同志:数据包转储中的数据 ::::::::::::::::::::::::::::::::::::::::: start 苏联帝国同志:UPC的大小是1576 帝国苏联同志:插座:3 苏联帝国同志:UPC -> 旗帜:1 帝国苏联同志:UPC -> 偏移量:0 帝国苏联同志:UPC -> 长度:8 苏联帝国同志:UPC -> 文件名:红色 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:000000000000000000000000000000000000000000000000000000000000000000000000000000000 帝国苏联同志:UPC -> 数据:00000000000000000000000000000000000000000 苏联帝国同志:sizeof(UPC):8 苏联帝国同志:sockaddr.sin_family:2 苏联帝国同志:sockaddr.sin_port:52822 苏联帝国同志:sockaddr.sin_addr.s_addr:-2147374912 苏联帝国同志:sizeof(sockaddr):8 苏联帝国同志:数据包转储中的数据 :::::::::::::::::::::::::::::::::::::::::: : 结尾 帝国苏联同志:size_sent:-1 警告同志:数据未发送:参数无效
它完全编译没有错误,但在 printf 函数中有来自强制转换的警告。任何可以提供的帮助将不胜感激。