当前位置:  技术问答>linux和unix

关于异步socket

    来源: 互联网  发布时间:2016-02-22

    本文导语:  我使用socket的tcp连接 两个线程 一个发送线程 一个接收线程。发送请求消息后服务器都会给一个响应消息。我想问一下 我异步不断的发送后,发送的消息有先后顺序,那么服务器返回的消息,能够按发送消息的顺...

我使用socket的tcp连接 两个线程 一个发送线程 一个接收线程。发送请求消息后服务器都会给一个响应消息。我想问一下 我异步不断的发送后,发送的消息有先后顺序,那么服务器返回的消息,能够按发送消息的顺序给出对应的返回消息顺序呢。我觉得有可能不行的,请教大虾们!其实我是在做一个ldap的应用,本来是用messageid来区分顺序的,可是今天看sdk的代码发现messageid是不发送到服务端的,这样只能同步了,哎 很晕

|
不要光想着行不行. 先动手做..

如果你的 服务器端, 收到数据,处理完后就返回给客户端(在同一个线程中做完全部工作)
那么, 它回复的数据,应该和你客户端发送 的数据 顺序是一样的。.


然后, 你发送的数据协议是自己定的还是? 
如果是自己定的可以加上你说的 messageid 来区分,
或者, 一般协议中都有保留位, 你也可以拿来用。

|
异步发送消息时,这边顺序发送信息,但接收方不一定是顺序接受

|
从理论上讲是一致的!
但是,实际上会遇见一些需要解决的问题,比如服务器程序和客户程序是否是单线程直接通信的;
tcp的断链问题;以及包重叠的问题;可能还有其他问题.....

标准协议是死的,人是活的

|
在你发送的数据里加上唯一的标识,并且要求对方返回时也原样返回。接收时匹配个标识就行了。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • c#异步task示例分享(异步操作)
  • Linux 中关于异步函数的问题
  • java异步方法调用框架 asyn4j
  • 异步消息传递框架 Errai
  • Balsa 异步电路仿真和合成系统
  • 异步I/O库 libeio
  • 异步 JS 工具 Async.js
  • 异步JS开发库 Wind.js
  • 异步JS开发库 Jscex
  • JS异步编程库 WinJS
  • 异步connect的问题,27日18:00前结账。
  • ACE linux下的异步IO
  • unix下异步进程的问题
  • 请问单线程异步机制的优势在哪里?
  • Node.js 异步错误处理 LAEH2
  • 纯异步的Server简单实现 Server
  • 内核进程间发送信号用哪个函数,如果没有这东西,那内核里异步通知用哪个东西
  • PHP异步执行技巧分享
  • c#异步读取数据库与异步更新ui的代码实现
  • Swift 异步编程库 Wyrd


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3