单声道兼容网络/套接字库

那里有没有Mono(C#)兼容的网络/套接字库吗?

最好是:

  • 多螺纹
  • 事件驱动
  • 能够连接多个
  • 处理客户端和服务器件
  • 运行Mono和MS .NET运行时
  • 非常简单
  • 免费(可在商业软件中使用)

如果它是:它真的很棒:

  • .NET Compact Framework(Windows Mobile)兼容
  • MonoTouch(iPhone)兼容

编辑:

为了澄清更多,我的“高于TCP / IP的一级”评论意味着我想要的东西基本上是一个自包含的服务器/客户端。 我不想处理编写线程代码,处理每个连接等等。例如,我希望代码看起来像这样:

Server s = new Server(8080); s.NewConnection += new ConnectionEventHandler(NewConnection); s.DataRecieved += new DataEventHandler(NewData); s.Start(); void NewConnection(object sender, EventArgs e) { s.Send((Connection)sender, "Hello World!"); //(Connection)sender is the connection instance so the server knows which to send the response to } void NewData(object sender, EventArgs e) { s.Send((Connection)sender, e.Data); //Echo back } 

不是最干净的代码,但我认为它提供了基本的想法。

现在这样的东西存在,结账networkComms.net 。 您需要的所有东西是否也与单声道100%兼容。

免责声明 :我是这个商业图书馆的开发者之一。

不,没有任何开箱即可做你想做的事。

TcpClient / TcpListenr已经比Socket类高一级。 如果你真的想要更简单的东西,那么包装TcpListener()并让它公开你想要的事件处理程序入口点是一件非常容易的事。

你应该看看RemotingLite 。 我在Mono应用程序中使用它。 它的开发是为了帮助分布式计算库MPAPI的网络方面。 MPAPI的目标是与Mono 100%兼容。

我不清楚你对一个“比TcpClient和TcpListener更高一级”的类的期望是什么?

TcpClient / TcpListener是您应该用于开发的基本构建块。 我不确定Mono中是否也支持它们,但如果它们是,那么它应该是你所需要的。

.Net CompactFramework也支持这些,虽然我不确定Mono Touch。