asp.net页面上,是否可以通过socket和web服务器上的winform程序进行通讯?

hovoy 2012-09-26 09:08:00
asp.net页面上,是否可以通过socket和web服务器上的winform程序进行通讯?


有弄过的,发个简单列子给研究研究。。
...全文
268 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hovoy 2012-10-08
  • 打赏
  • 举报
回复
3Q 不管行不行,分都给您了。
six-years 2012-09-26
  • 打赏
  • 举报
回复
给你个使用UDP广播的例子 刚测试通过了 Tcp方式的自己拓展
web作为接收端

protected void Page_Load(object sender, EventArgs e)
{
Socket sock60 = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//设置SOCKET允许多个SOCKET访问同一个本地IP地址和端口号
sock60.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);

IPEndPoint iep60 = new IPEndPoint(IPAddress.Any, 5860);
sock60.Bind(iep60); //绑定IP/端口
EndPoint ep = (EndPoint)iep60;
byte[] data = new byte[1024];
int recv = sock60.ReceiveFrom(data, ref ep); //接受数据

string stringData = Encoding.UTF8.GetString(data, 0, recv); //接收端口发送的String

Label1.Text = stringData;


}

winfrom 发送端代码
private void send5860() 
{
try
{
Console.WriteLine("This is a Server, host name is {0}", Dns.GetHostName());

Socket socks = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);//New一个Socket配置连接方式
//socks.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 900); //设置响应时间
IPEndPoint iep1 = new IPEndPoint(IPAddress.Broadcast, 5860);
//IPEndPoint iep2 = new IPEndPoint(IPAddress.Parse("225.255.255.0"), 5860);

while (true)
{
Console.WriteLine("5860 Success" + " port:5860");
byte[] data = System.Text.Encoding.UTF8.GetBytes("5860 已经成功"); //将字符转化为可传输的格式
socks.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);
socks.SendTo(data, iep1);
//socks.SendTo(data, iep2);

Thread.Sleep(500);
}
}
catch(Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
}
wfoegl 2012-09-26
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110909/10/c835210e-9b2c-4c4a-8ad9-bb86bb0849f3.html你看下这个也许有帮助

62,105

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧