使用多个winsock定义的udp时的接收问题。(100分)

  • 主题发起人 主题发起人 atomy
  • 开始时间 开始时间
A

atomy

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在做一个局域网的视频电话, 现在点对点之间的语音、视频传送已完成,现在想
加一个视频会议功能,已经解决了语音广播的问题,语音通讯是使用了一个UDP端口,
但是在视频的广播这儿我碰到了问题,假设用户端有四个,我开了四个UDP端口,然后
每个用户端向不同的端口广播视频,这样就不会造成视频数据混合在一起的问题。
但是我现在只能收到自己的视频,不知道原因,现贴出部份代码,请帮帮忙。

原来的接收端部份程序:
constructor TRecvPacketThread.Create();
begin
inherited Create(True);
FreeOnTerminate := True;
MyStream := TMemoryStream.Create;
InitVedioConfig; //初始化配置
Suspended := False;
end;



constructor TRecvPacketThread.Create();
begin
inherited Create(True);
FreeOnTerminate := True;
MyStream := TMemoryStream.Create;
MyStream1 := TMemoryStream.Create;
MyStream2 := TMemoryStream.Create;
MyStream3 := TMemoryStream.Create;
InitVedioConfig; //初始化配置
Suspended := False;
end;

原来的程序是收到对方的图片然后写到自己的image控件中,现在加了四个UDP端口,
是不是收到的流也就是四个了?
原代码:
procedure TRecvPacketThread.EchoImage;
begin
Form1.Image1.Picture.Bitmap.LoadFromStream(MyStream);
end;

改过后:
procedure TRecvPacketThread.EchoImage;
begin
// Form1.Image2.Picture.Bitmap.LoadFromStream(MyStream);
// Form1.image2.Picture.Bitmap.LoadFromStream(MyStream);
Form1.image2.Picture.Bitmap.LoadFromStream(MyStream);
Form1.image3.Picture.Bitmap.LoadFromStream(MyStream1);
Form1.image4.Picture.Bitmap.LoadFromStream(MyStream2);
Form1.image5.Picture.Bitmap.LoadFromStream(MyStream3);
end;
 
没人懂?  怎么都没人出声。 惨啊。
 
能否提供你的语音点对点思路和代码?我想做一个通过MIC向其他用户广播的程序,但无从着手。qjchen@21cn.com 谢谢!!!
 
点对多很简单. 可以直接广播域就行了.
 
后退
顶部