c++ socket send,不断的发送数据,但是客户端只能收到第一条,这是为什么
服务器:while(1){flag=m_socket.SendMsg(st,pack->data,strlen(pack->data)*sizeof(char));}Sl...
服务器:
while(1)
{
flag = m_socket.SendMsg(st,pack->data,strlen(pack->data) * sizeof(char));
}
Sleep(10000);
客户端:
_soket.addEventListener(ProgressEvent.SOCKET_DATA,onData);
_soket = new Socket();
_soket.addEventListener(ProgressEvent.SOCKET_DATA,socketDataHandler);
public function onData(event:ProgressEvent):void
{
while(_soket.bytesAvailable)
{
_soket.readBytes(bytes,0,_soket.bytesAvailable);
}
} 展开
while(1)
{
flag = m_socket.SendMsg(st,pack->data,strlen(pack->data) * sizeof(char));
}
Sleep(10000);
客户端:
_soket.addEventListener(ProgressEvent.SOCKET_DATA,onData);
_soket = new Socket();
_soket.addEventListener(ProgressEvent.SOCKET_DATA,socketDataHandler);
public function onData(event:ProgressEvent):void
{
while(_soket.bytesAvailable)
{
_soket.readBytes(bytes,0,_soket.bytesAvailable);
}
} 展开
2个回答
展开全部
肯定是你封装的soket代码有问题,接收线程启动了有,是否接受消息一次,线程关闭了
追问
没有啊
追答
是这样你去掉,while循环,因为每次接收到数据就会毁掉一次onData,你消息处理动作的while循环堵塞了消息循环:
public function onData(event:ProgressEvent):void
{
while(_soket.bytesAvailable)
{
_soket.readBytes(bytes,0,_soket.bytesAvailable);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询