解决方案 »
- 一个项目,是不是可以理解为一个“命名空间”呀,因为命名空间的名字就是项目文件名呀?
- C#调用C++写的dll【usbkey、pkcs#11标准】
- gridview中的dropdownlist 级联
- UltraWebGrid 翻译问题
- 关于c#接口的问题
- 还是关于webBrowser控件的问题,这次只要解决,分全给他
- AJAX中的Ajax.dll问题??
- 代码转换
- 菜鸟问题,问题是:在某个条件不成立时,程序不再向下运行,在C#中用什么命令啊。(Delphi中用Exit)
- 我想把数据库中的一张表导入到datagridview中为什么老是实现不了
- partial使用问题
- 希望大家不要被第二书店给骗了
暂停是因为 做的接收界面可以控制发送方的发送,暂停就使得发送方停止发送信息,这些信息都是一些过程性的仿真信息。
Socket udpServer;
IPEndPoint serverIP=new IPEndPoint(IPAddress.Parse(xxx.xx.x.xxx),9199);
udpServer.Bind(serverIP);
EndPoint.Remote=(EndPoint)serverIPnew Thread(()=>
{
while(true)
{
byte[] data=new byte[102400];定义一个数据缓存区
try
{
length=udpServer.ReceiveFrom(data, ref Remote); 从远端接收到的数据长度
string str1=Encoding.GetEncoding("GBK").GetString(data,0,length);将接收到数据转换为字符串 Invoke(new ThreadStart(delegate()
{
this.textBox1.ApprendText(str1+Environment.NewLine);将字符串显示到文本框中
this.textBox1.ScollToCaret();
}))
}
catch(Exception e)
{
MessageBox.Show(e.Message);
} }
}).Start();
这是原码!
在新开的线程里接收字符串,在将字符串显示到文本框中,没有对信息进行其他处理,在显示的同时需要将文本框中的内容写入文本文档,用到了StreamWrite进行写入!
我通过对udp的socket.receivebuffersize的大小进行了测试,将其设置为1024*229正好能一次性收1000个包且不丢包,如果比这小的话,1000个包就会丢包