关于使用C连接服务器响应问题

大板牙花生 2019-08-08 11:35:47
是这么个情况,用C语言连接SOCKET服务器,读取邮件,在响应信息的时候,会出现一些问题,比如服务器信息返回有延迟,造成程序假死。这个该如何改进代码?是不是需要增加一个WAITFOR或是什么东西?不是太懂
...全文
145 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gouyanfen 2019-08-08
  • 打赏
  • 举报
回复
引用 4 楼 gouyanfen 的回复:
[quote=引用 2 楼 陌生的路人 的回复:] [quote=引用 1 楼 gouyanfen 的回复:] [quote=引用 楼主 陌生的路人 的回复:] 是这么个情况,用C语言连接SOCKET服务器,读取邮件,在响应信息的时候,会出现一些问题,比如服务器信息返回有延迟,造成程序假死。这个该如何改进代码?是不是需要增加一个WAITFOR或是什么东西?不是太懂
异步处理消息[/quote] 问题是这个用不到异步吧?是简单的输入用户名,返回消息,输入密码返回消息,这个也需要异步?[/quote] 通信的速度取决于服务器和网络延时,如果你保证不了立即有回传,就应该异步或开后台线程处理,要不肯定假死[/quote] 或者说你的后续处理用回调,收到登陆消息的成功或失败用回调处理,点登陆之后立即返回
gouyanfen 2019-08-08
  • 打赏
  • 举报
回复
引用 2 楼 陌生的路人 的回复:
[quote=引用 1 楼 gouyanfen 的回复:] [quote=引用 楼主 陌生的路人 的回复:] 是这么个情况,用C语言连接SOCKET服务器,读取邮件,在响应信息的时候,会出现一些问题,比如服务器信息返回有延迟,造成程序假死。这个该如何改进代码?是不是需要增加一个WAITFOR或是什么东西?不是太懂
异步处理消息[/quote] 问题是这个用不到异步吧?是简单的输入用户名,返回消息,输入密码返回消息,这个也需要异步?[/quote] 通信的速度取决于服务器和网络延时,如果你保证不了立即有回传,就应该异步或开后台线程处理,要不肯定假死
大板牙花生 2019-08-08
  • 打赏
  • 举报
回复
我觉得可能不是这个意思,就是说输入密码 需要等到用户名输入返回消息后再进行操作,这个简单的操作也需要异步消息?
大板牙花生 2019-08-08
  • 打赏
  • 举报
回复
引用 1 楼 gouyanfen 的回复:
[quote=引用 楼主 陌生的路人 的回复:]
是这么个情况,用C语言连接SOCKET服务器,读取邮件,在响应信息的时候,会出现一些问题,比如服务器信息返回有延迟,造成程序假死。这个该如何改进代码?是不是需要增加一个WAITFOR或是什么东西?不是太懂

异步处理消息[/quote]
问题是这个用不到异步吧?是简单的输入用户名,返回消息,输入密码返回消息,这个也需要异步?
gouyanfen 2019-08-08
  • 打赏
  • 举报
回复
引用 楼主 陌生的路人 的回复:
是这么个情况,用C语言连接SOCKET服务器,读取邮件,在响应信息的时候,会出现一些问题,比如服务器信息返回有延迟,造成程序假死。这个该如何改进代码?是不是需要增加一个WAITFOR或是什么东西?不是太懂
异步处理消息
smwhotjay 2019-08-08
  • 打赏
  • 举报
回复

传统的都是同步方式。就是会等待对方返回信息。即阻塞。会导致ui的卡顿。解决办法是异步io.
轻箬笠 2019-08-08
  • 打赏
  • 举报
回复
改成libuv咋样。

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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