小弟以前没接触过C#Socket,昨天学Socket UDP通信的时候 ,遇到一个问题,查了半夜都没有解决,请各位帅哥,美女帮忙,小弟先行谢过啦~! 代码如下:public Socket newsock;
public IPEndPoint localEP;
int recv;
string data1;
....
setPort = int.Parse("4450"); 在线程里面 创建 UDP:byte[] data = new byte[1024];
//初始化SOCKET实例
newsock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
localEP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), setPort);//setPort 是端口 4450
newsock.Bind(localEP);
EndPoint Remote = (EndPoint)(localEP);
data = new byte[1024];
//接受信息
recv = newsock.ReceiveFrom(data, ref Remote);//跟进去就是这里异常
data1 = Encoding.UTF8.GetString(data, 0, recv).ToString();
是不是哪里 设置错啦?运行一开启 线程就 程序未响应了,还得在任务管理器中结束。下面是跟进去的截图,在网上找了很久都没有解决,请各位帮帮忙...谢谢啦~!socketUDP
public IPEndPoint localEP;
int recv;
string data1;
....
setPort = int.Parse("4450"); 在线程里面 创建 UDP:byte[] data = new byte[1024];
//初始化SOCKET实例
newsock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
localEP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), setPort);//setPort 是端口 4450
newsock.Bind(localEP);
EndPoint Remote = (EndPoint)(localEP);
data = new byte[1024];
//接受信息
recv = newsock.ReceiveFrom(data, ref Remote);//跟进去就是这里异常
data1 = Encoding.UTF8.GetString(data, 0, recv).ToString();
是不是哪里 设置错啦?运行一开启 线程就 程序未响应了,还得在任务管理器中结束。下面是跟进去的截图,在网上找了很久都没有解决,请各位帮帮忙...谢谢啦~!socketUDP
解决方案 »
- XP操作系统32位机C#2005环境下开发的应用程序如何在WIN7 64位机器上运行?
- 如何让一个lable显示货币格式的数据?
- DataGrid中为什么显示时间字段的值的时候只有日期,没有时间?
- 请问:现在开发B/S最好用的开发工具是什么?C#ASP.NET怎么样?但对它如何部署不知道呀,别的工具呢?能提供些信息吗?谢谢!!!
- 如何得到select 1的返回结果
- VS2008如何实现视频边下载边播放??求助
- 通用查询
- 请问:数据已经更新到数据库对应的表里了,但是为什么和表对应的datagrid没有更新
- DataGridView控件
- 一个关于把excel存到数据库里的问题
- C#编写显示实时图形
- c# 如何生成txt 并且内容用tab分隔
发送端:Socket Send;//初始化C#Socket发送
IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), port1); //port1这个参数是端口 int ;
Send = new Socket(ipPoint.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp);Send.SendTo(Encoding.ASCII.GetBytes("要发送的消息"), ipPoint);//注意编码接收端:一直接收的话 需要开一个线程:
using System.Threading;//线程
public Thread myThread;myThread = new Thread(RunsOnWorkerThread);
myThread.Start();//启动这个线程 //myThread.Abort();//关闭线程 private void RunsOnWorkerThread()
{Socket newsock; //声明一个Socket实例;
byte[] data = new byte[1024];
IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), StrPortB); //IP 端口;
EndPoint Remote = (EndPoint)(ipPoint);
newsock = new Socket(ipPoint.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp);//初始化;
newsock.Bind(ipPoint);//绑定;
while (true)
{
try
{
newsock.ReceiveFrom(data, ref Remote);//读取接收的数据
data1 = Encoding.ASCII.GetString(data).ToString();
//textBox1.Text = data1;
}
Thread.Sleep(80);
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
}
}
}