X
xingkong97
Unregistered / Unconfirmed
GUEST, unregistred user!
各位网络高手,小弟最近用DSHOW做一个项目,是关于视频直播的。视频直播共有三个频道,我做了服务器端和客户端,数据传输采用idUDPSercer控件,一个频道对应一个端口进行传输,
A频道传输至 12301 端口
B频道传输至 12303 端口
C频道传输至 12305 端口
然后在客户端采用一个UDP控件进行接收,当接受A频道时,客户端的UDP用12301作为默认端口,当接受B频道时,客户端的UDP用12303作为默认端口,当接受C频道时,客户端的UDP用12305作为默认端口.
切换时程序如下:
IDUDP1.active:=false;
IDUDP1.DefaultPort:=1230*;
IDUDP1.Active:=true;
然后告诉服务器当前接收端口为1230*,请服务器将数据传送到该端口。可是小弟发现第一次接收频道时没有任何问题,可是当切换频道时即改变客户端UDP端口时,要么仍然是第一次的频道,要不就停止传输,请问各位高手,有没有一个解决的方案啊。
另外,下面这些语句是什么意思啊。
BufferSize := $40000;
IdUDPServer1.Binding.SetSockOpt(Id_SOL_SOCKET, Id_SO_SNDBUF, PChar(@BufferSize), SizeOf(BufferSize));
BufferSize := $40000;
IdUDPServer1.Binding.SetSockOpt(Id_SOL_SOCKET, Id_SO_RCVBUF, PChar(@BufferSize), SizeOf(BufferSize));
A频道传输至 12301 端口
B频道传输至 12303 端口
C频道传输至 12305 端口
然后在客户端采用一个UDP控件进行接收,当接受A频道时,客户端的UDP用12301作为默认端口,当接受B频道时,客户端的UDP用12303作为默认端口,当接受C频道时,客户端的UDP用12305作为默认端口.
切换时程序如下:
IDUDP1.active:=false;
IDUDP1.DefaultPort:=1230*;
IDUDP1.Active:=true;
然后告诉服务器当前接收端口为1230*,请服务器将数据传送到该端口。可是小弟发现第一次接收频道时没有任何问题,可是当切换频道时即改变客户端UDP端口时,要么仍然是第一次的频道,要不就停止传输,请问各位高手,有没有一个解决的方案啊。
另外,下面这些语句是什么意思啊。
BufferSize := $40000;
IdUDPServer1.Binding.SetSockOpt(Id_SOL_SOCKET, Id_SO_SNDBUF, PChar(@BufferSize), SizeOf(BufferSize));
BufferSize := $40000;
IdUDPServer1.Binding.SetSockOpt(Id_SOL_SOCKET, Id_SO_RCVBUF, PChar(@BufferSize), SizeOf(BufferSize));