- 博客(5)
- 收藏
- 关注
原创 linux下,使用udp通信协议通过指令控制电源的程序
最近一直在弄的那个小程序终于弄好了,起初在学校没好好学,连tcp/ip是什么都不知道,如今终于编好。这个程序只是用来进行单次的问答设置,更完善的就是将所有的设置指令编为一个个子函数,然后需要用的时候直接调用该子函数即可,就不用一遍一遍输指令了。电源本来udp通信是不需要connect的,但是为了偷懒用read和write,以及指令准确送达,还是建议加上。实验室的电源比较傻,电源端一旦和客户端链接过...
2018-04-29 10:59:47
537
原创 c语言中字符串的之间的复制与连接,memcpy和strcat的简单使用。
前几篇文章提到过最近在搞一个使用udp通信的电源控制程序。自动化测试的时候需要不停的上电和断电,每次上电要设置电流电压输出通道的信息。所以我找到了一个在程序开始输入设置好相关信息后,会一直循环使用该信息的方法。即声明一个指针函数和一个全局变量,在main中对函数和全局变量初始化,然后返回时return全局变量。再将函数赋值给一个指针,然后将指针带入到无限循环内的相应的电流电压设置的子函数内即可。现...
2018-04-11 10:20:05
1923
原创 关于linux下udp通信第二次建立connect后connect refused的解决
最近在学网络编程,用udp通信练手。在建立connect的udp通信中,close关闭了socket之后,第二次使用程序进行通信会显示connect refused。抓包后显示了一个ICMP报文 destination unreachable(port unreachable)。绞尽脑汁也无法解决这个问题。总觉得是之前的程序没有彻底关闭,使服务器端口堵塞住了。然后一直插关闭程序关闭
2018-04-08 15:49:44
1585
原创 关于linux下的udp/tcp通信设置发送sendto/接收recvfrom信息超时的参数。解决通道堵塞问题。
在UDP/TCP通信的时候,如果发送一条指令过去,而该指令是操作设置指令对方没有反馈信息的时候,会在发送成功后被搞死。就是发送不能新的指令,而对方也一直没有新的信息发过来的这种状态。这时候可以设置一个超时的参数,一定时间内没有接收到新的信息,就自动跳过了。然后重新进入通信循环while(1)。接收超时:struct timeval timeout;timeout.tv_sec=3; ...
2018-03-22 17:17:38
3616
原创 关于linux下串口通信传输换行符
新手初次编写,如有错误请多指正。在做硬件远程控制时,一般都会需要在包的末尾加一个回车符来判断命令发送完成。而用scanf输入到buff的时候会遇到按下回车,输入就结束了。曾试过多种方法,始终无法在发送的数据里加入空格符。现在偶然发现一个很方便的办法,即将scanf()函数改为fgets()函数输入。这样你所输入时按下回车键,即会退出输入,也会将回车符录入到包里。原:scanf(“%s”,buff)...
2018-03-21 10:13:15
2330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人