下面是基本代码
当数据小于1024时是正确的;否则就出错,我们根本无法确定对方要传的数据大小呀.这怎么解决呀
sock.ReceiveFrom难道不是下面的用法吗?怎么不起作用??郁闷
int i;
string receiveStr="";
Socket sock=clientSocket;
EndPoint oldEP=sock.RemoteEndPoint;
byte[] bb=new byte[1024];
while(true)
{
ii=sock.ReceiveFrom(bb,ref oldEP);//接受大于1024这出错
if(ii==0)
{
break;
}
receiveStr=receiveStr+Encoding.Default.GetString(bb,0,bb.Length);
}
当数据小于1024时是正确的;否则就出错,我们根本无法确定对方要传的数据大小呀.这怎么解决呀
sock.ReceiveFrom难道不是下面的用法吗?怎么不起作用??郁闷
int i;
string receiveStr="";
Socket sock=clientSocket;
EndPoint oldEP=sock.RemoteEndPoint;
byte[] bb=new byte[1024];
while(true)
{
ii=sock.ReceiveFrom(bb,ref oldEP);//接受大于1024这出错
if(ii==0)
{
break;
}
receiveStr=receiveStr+Encoding.Default.GetString(bb,0,bb.Length);
}
解决方案 »
- 关于串口的问题
- 高手请进:类库如何加载app.config
- 如何给label或button控件size属性直接赋值?
- VS2008 與 crystal report 11 安裝問題請教
- 用vs2003部署安装文件时,目标机器没有framework1.1,需要个插件PluginInstaller.msi
- c# 右键菜单的问题!!!急!!!
- 如果根据基类构造子类?
- 各位高手大大看下是什么错误,应该怎么改
- 怎么设置DataGridView中不显示列的值?请赐教!
- 中秋节快乐,散分了
- 自己写的一个基于SMTP邮件发送程序,能发送出去,被接受服务器拒绝,是什么原因?
- webservice读写文件拒绝访问
自己问自己答吧!
UDP协议下,无链接的的传输,接收的最大是有限的,不能像数据流一样读取,必须一次性读取完.
所以,我们发信息的时候必须发一个可限制大小的数据,接受的时候才不会出错.