两方通信不管哪方先启动,都能正常连接发送数据

缭绕飘渺 2011-05-20 03:09:21
如题,两台设备,一台嵌入式的,一台PC,嵌入设备为linux系统,PC为windows系统
这两个设备上的程序都是自己的,双方要实现一个通信,不管哪个设备先启动,都要保证能够正常连接并发送信息
开始我是拿PC做为server端,程序是C#写的,这样PC端必需先启动,嵌入式设备才能连接上,否则,连接失败!

如果中途PC端重启了,那么嵌入式设备也连接不上了,主要不了解linux socket通信的东西,整起来很吃力
大家有什么好的建议,能够使这两个设备正常通信的!
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
缭绕飘渺 2011-05-23
  • 打赏
  • 举报
回复
感谢回答
这个东西想了想,又请教下领导,觉得还是UDP来的直接
已经改为UDP了
结贴
平分分数,两位没意见吧
窗户纸 2011-05-20
  • 打赏
  • 举报
回复
这里涉及到断线重连的问题,如果PC作为服务器,服务器掉线再重连时一般需要重新认证接入,因为服务器里保存的信息都需要重新初始化,而如果客户端掉线再重连(不是重启),可以通过在认证通信完成时由服务器传送给客户端一个认证码的方式处理,重连时只需要验证认证码即可,
当然很容易做的就是检测出是否掉线,如果掉线则定时尝试重新连接。
pcqpzq 2011-05-20
  • 打赏
  • 举报
回复
这就是简单的C/S通讯而以。
不管用什么系统,什么开发,都一样。

Server端启动后,启动侦听某个端口,直到有客户端建立连接,如果是多客户端的Server,在一个客户端连接建立起来了后还要维持端口侦听等待下一客户端连入。
Client端启动后,尝试和服务器起建立连接,如果建立成功,就OK,如果失败,则需要记录错误日志,然后定时不断尝试建立连接直到连接成功,同理,如果中途通讯中断了,也要有自动重新连接的机制

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧