如何在ASP.NET MVC应用程序中使用system.net.sockets [英] How can I use system.net.sockets in ASP.NET MVC application

查看:86
本文介绍了如何在ASP.NET MVC应用程序中使用system.net.sockets的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello Everyone,

我在winforms和控制台应用程序中使用套接字

但是我在编写ASP.Net MVC应用程序时遇到了一些问题。< br $>


我的问题是

*如何在ASp.Net MVC应用程序中使用System.Net.Sockets来创建一个简单的聊天应用程序。 />
任何想法,示例或示例对我都非常有帮助。





我希望套接字能够以交互方式工作。 ..



感谢你。



我的尝试:



使用System;

使用System.Collections.Generic;

使用System.Linq;

使用System.Web;

使用System.Web.Mvc;

使用System.Net;

使用System.Net。套接字;

使用System.Text;



命名空间sgsmSocket.Controllers

{

public class HomeController:Controller

{

string res =;

套接字服务器,客户端;

byte [] _buffer;

public HomeController()

{

StartServer();

}



private void StartServer()

{

尝试

{

server = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

server.Bind (new IPEndPoint(IPAddress.Any,25001));

server.Listen(0);

server.BeginAccept(new AsyncCallback(AcceptCallback),null);

res + =>>听;

//Response.Write(服务器运行);

}

catch(异常错误)

{

res + =>>听力错误+ err.Message;

}

}



private void AcceptCallback(IAsyncResult ar)

{

尝试

{

client = server.EndAccept(ar);

_buffer = new byte [client.ReceiveBufferSize];

res + =>>接受;

client.BeginReceive(_buffer,0,_buffer.Length,SocketFlags.None,new AsyncCallback(ReceiveCallback),null);



}

catch(异常错误)

{

res + =>>接受错误+ err.Message;

}

}



private void ReceiveCallback(IAsyncResult ar)

{

尝试

{

int received = client.EndReceive(ar);

Array.Resize(ref _buffer,received);

string text = Encoding.ASCII.GetString(_buffer);

Array.Resize(ref _buffer,client.ReceiveBufferSize );

res + =>>收到+ text;



client.BeginReceive(_buffer,0,_buffer.Length,SocketFlags.None,new AsyncCallback(ReceiveCallback),null);

}

catch(异常错误)

{

res + =>>接收错误+ err.Message;

}

}

//

// GET:/ Home /

公共ActionResult索引()

{

ViewBag.msg = res;

return View();

}

}

}

Hello Everyone,
I have worked on sockets in winforms and console applications
but i am having some problem in writing the same for ASP.Net MVC application.

My Problem is
* How to use System.Net.Sockets in ASp.Net MVC Application to create a simple chat app.
Any ideas, samples or example will be very helpful to me.


I want the socket work interactively...

Thanking you.

What I have tried:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace sgsmSocket.Controllers
{
public class HomeController : Controller
{
string res = "";
Socket server, client;
byte[] _buffer;
public HomeController()
{
StartServer();
}

private void StartServer()
{
try
{
server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
server.Bind(new IPEndPoint(IPAddress.Any, 25001));
server.Listen(0);
server.BeginAccept(new AsyncCallback(AcceptCallback), null);
res += ">> Listening";
//Response.Write("Server Running");
}
catch (Exception err)
{
res += ">> Listening Error " + err.Message;
}
}

private void AcceptCallback(IAsyncResult ar)
{
try
{
client = server.EndAccept(ar);
_buffer = new byte[ client.ReceiveBufferSize];
res += ">> Accepted";
client.BeginReceive(_buffer, 0, _buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallback), null);

}
catch (Exception err)
{
res += ">> Accept Error " + err.Message;
}
}

private void ReceiveCallback(IAsyncResult ar)
{
try
{
int received = client.EndReceive(ar);
Array.Resize(ref _buffer, received);
string text = Encoding.ASCII.GetString(_buffer);
Array.Resize(ref _buffer, client.ReceiveBufferSize);
res += ">> Received " + text;

client.BeginReceive(_buffer, 0, _buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallback), null);
}
catch (Exception err)
{
res += ">> Receiving Error " + err.Message;
}
}
//
// GET: /Home/
public ActionResult Index()
{
ViewBag.msg = res;
return View();
}
}
}

推荐答案

尝试ASP.NET SignalR [ ^ ] - 它模拟套接字(甚至在后台使用WebSockets)并在网络上提供实时功能。
Try ASP.NET SignalR[^] - it simulates sockets (even uses WebSockets in the background) and provides "real time" functionality over web.


这篇关于如何在ASP.NET MVC应用程序中使用system.net.sockets的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆