当前位置: 技术问答>linux和unix
多线程数据接收问题
来源: 互联网 发布时间:2016-06-02
本文导语: 我现在在做一个与服务器通信的程序,要求同时收取多路数据。我现在可以收取多路数据,但是有个很尴尬的问题:第一步要连接和登录,然后开始收取队列中的数据,我现在的程序是每收取一路数据都要重新登录;...
我现在在做一个与服务器通信的程序,要求同时收取多路数据。我现在可以收取多路数据,但是有个很尴尬的问题:第一步要连接和登录,然后开始收取队列中的数据,我现在的程序是每收取一路数据都要重新登录;后来我尝试将登录函数所在的结构写为全局的,但是这样的话我的队列只可以收取一路数据;我现在的想法是仍然把登录函数所在的结构作为成员函数,请问能不能将登录信息保存,在收取另一路数据的时候只做个检测,只有没有登录的情况再去登录,比如说保存socket之类的方法(不过我不知道该怎么去做);或者情各位提供点可行的方法;需要看相关代码的请讲,小弟随时关注
|
可以用读写锁加 select 来实现。可以采用 cookie,貌似现在很多网站就是这么干的...
|
两个应用程序通过T C P连接交换8 bit字节构成的字节流。T C P不在字节流中插入记录标识
符。我们将这称为字节流服务( byte stream service)。如果一方的应用程序先传1 0字节,又传
2 0字节,再传5 0字节,连接的另一方将无法了解发方每次发送了多少字节。收方可以分4次接
收这8 0个字节,每次接收2 0字节。一端将字节流放到T C P连接上,同样的字节流将出现在
T C P连接的另一端。
另外,T C P对字节流的内容不作任何解释。T C P不知道传输的数据字节流是二进制数据,
还是A S C I I字符、E B C D I C字符或者其他类型数据。对字节流的解释由T C P连接双方的应用层
解释。
符。我们将这称为字节流服务( byte stream service)。如果一方的应用程序先传1 0字节,又传
2 0字节,再传5 0字节,连接的另一方将无法了解发方每次发送了多少字节。收方可以分4次接
收这8 0个字节,每次接收2 0字节。一端将字节流放到T C P连接上,同样的字节流将出现在
T C P连接的另一端。
另外,T C P对字节流的内容不作任何解释。T C P不知道传输的数据字节流是二进制数据,
还是A S C I I字符、E B C D I C字符或者其他类型数据。对字节流的解释由T C P连接双方的应用层
解释。