我只需要知道如何从服务器发送消息给客户端,如果通信可以是双向的那就更好了,但这并非必要。
对于VS 2005/.NET 2.0,请尝试.NET Remoting。
编辑
除非你喜欢练习,否则我建议不要使用sockets。.NET Remoting允许TCP、UDP、IPC通信,并且对于你的代码来说,它看起来就像是在调用对象上的方法/属性。此外,任何可序列化的数据结构都可以通过网络传输,这使你可以使用丰富的数据表示,而不是在套接字级别上打包/解析字节流。
一种简单的方法是使用套接字来实现。可以参考以下资料:
http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx
它的开销很小,可以比Remoting或其他类型的通信更简单地配置。
尝试在谷歌上搜索示例,有许多这样的示例。
考虑使用基于TCP/IP的.NET远程调用。这使得双向通信变得轻而易举。您需要在一侧使用TcpServerChannel,在另一侧使用TcpClientChannel。服务器端将拥有一个扩展MarshalByRefObject的对象。
public class MyServerClass : MarshalByRefObject
{
public override void InitializeLifetimeService ()
{
return null;
}
public string SendAndRecieve (string message)
{
return message + message;
}
}