怎样使用多线程进行通讯?(100分)

  • 主题发起人 主题发起人 dyb
  • 开始时间 开始时间
D

dyb

Unregistered / Unconfirmed
GUEST, unregistred user!
我想使用SOCKET控件同时收发,一线程收,一线程发,如何做?若同时收发声音、图象,如何保证声音数据优先?
 
用得着线程吗?
消息响应模式应该比线程好.用异步的socket,数据发送和接收都有消息的.

要保证数据的优先级别,可以用同一个socket发送所有数据,并用两个链表
保存所有提交的数据,发送处理函数先从优先级高的队列读取发送数据.
 
线程的控制比较复杂,如果没有必要的话,还是用消息响应比较好.
socket的out-of-band数据具有更高的优先级,不过我不知道Delphi下
有没有该选项,有的话可以一试
 
如果用多线程的话, 你建立两个线程, 线程可以设置优先级的.
 
socket 控件本身是用多线程机制写的,你直接用控件的事件就行了。
 
我有用UDP多线程通讯同时收发的完整程序
是用于发送/接收的小包的数据,如需要可提供源程序(C++Builder)
在发送线程中判断一下是否有声音数据需要发送,即可实现声音数据的优先发送

 
请接收答案或继续提问.
 
多人接受答案了。
 
后退
顶部