单声道兼容网络/套接字库
那里有没有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。