UDP socket通信错误的有关问题

UDP socket通信异常的问题
看了书自己打算写下UDP 通信的小程序,
客户端      client1.c 
服务器端  server1.c

两个文件都正确编译完成
1、先启动服务器端
UDP socket通信错误的有关问题

2、然后启动客户端
UDP socket通信错误的有关问题

3、在客户端输入文本并按回车 发送数据到服务器端
UDP socket通信错误的有关问题
      结果5秒后超时,因为它未接受到来自服务器的回传消息(其实服务器是已经收到消息,如下图
UDP socket通信错误的有关问题

4、这时候 client1进程由于socket超时已经停止(服务器端server01进程还是在运行中),现在重新启动一个client1进程
  UDP socket通信错误的有关问题
   启动完成后 开始输入文本按回车,结果server同样能接受到消息,并且client能成功接受到server的回传,如下图
UDP socket通信错误的有关问题
UDP socket通信错误的有关问题

------------------------------------------------》
我在server01.c中的 sendto函数做了判断,原来是n返回为-1,errno大致含义为 参数无效。

是在想不明白,仔细对比了sendto传入的各个参数,并不能发现什么不对的,因为:
1.编译正常通过
2.为什么第二次client进程就能正常运行


求大侠们指点迷津,谢谢各位!!!
      
------解决方案--------------------
clilen你传的什么东西?
------解决方案--------------------
没有环境测试代码,看一下你的测试逻辑,我觉得服务端的问题,不是客户端的问题。查一下为啥server端显示reponse error
------解决方案--------------------
$ ./server 
=====Waiting for request from client=====
[Mon Jun 30 21:42:24 2014]Received: abc
[Mon Jun 30 21:42:24 2014]Response Error(Invalid argument)
=====Waiting for request from client=====
[Mon Jun 30 21:42:46 2014]Received: abc
[Mon Jun 30 21:42:46 2014]Response Error(Invalid argument)
=====Waiting for request from client=====
[Mon Jun 30 21:43:49 2014]Received: abc
[Mon Jun 30 21:43:49 2014]Response Error(Invalid argument)
=====Waiting for request from client=====
[Mon Jun 30 21:44:27 2014]Received: abc
[Mon Jun 30 21:44:27 2014]Response Error(Invalid argument)
=====Waiting for request from client=====
这么多Error,检查下吧。
------解决方案--------------------
建议楼主先学会使用抓包软件比如wireshark
------解决方案--------------------
socklen_t clilen = sizeof( clientaddr);
这样试试