C# winform使用redis完成简单通信

来源:互联网 发布:windows 2008 r2 ad域 编辑:程序博客网 时间:2024/05/21 10:34

  最近在一家公司实习,我的导师交给了我一个任务就是用要用redis进行简单的局域网通信。这里的“通信”是比较狭隘的,就是一个程序向另一个发送简单的字符串。在做的过程中遇到不少的问题(可能也与我的能力有关),今天就在这篇博客中把自己的教训写写。

1.安装redis

    说是安装其实就是下载后进行解压就可以了,具体的下载地址自己通过百度就能很容易的找到这里就不多说了。当你解压后的文件应当是这样的:

其中分为客户端和服务器端,redis.conf是服务器的配置文件。使用DOS环境进入redis的目录输入redis-sever redis.conf,然后启动客户端redis-cli -h 服务器的ip -p 端口号。这样你就会看到如下的情况:

 

上面一张是服务器下面是客户端的情况,可以看出在服务器上面已经有一个客户端连接了。

2.在vs2012中使用redis

  新建一个winform的工程,如果要使用redis你需要添加引用如下图所示:点击图中的选中项

点击第一个后进行安装就可以了。在源文件中添加一句using ServiceStack.Redis; 就算是大功告成了。

3.在C#中使用redis

新建一个客户端:RedisClient rc=new RedisClient("127.0.0.1",6379);

  127.0.0.1是你自己电脑的地址,6379是服务器的端口。

新建一个频道(channel):rc.Subscribe("test");

  监听“test”通道如果没有就新建。

从频道中获取消息:rc.ReceiveMessages();

  该方法会阻塞到有消息为止,如果不想阻塞的话可以指定rc.ReceiveTimeout(单位是毫秒。如果是5000则5秒后收不到消息就不再阻塞)。

  该方法的返回值是byte[][]类型如果需要的是string类型则需要Encoding.Default.GetString()方法进行转换而不能使用ToString方法。假设你接受消息的是byte[][] rm; 而rm[2]是从频道接收的消息,至于rm[0],rm[1]你自己可以试试就知道是什么了。

向频道中发消息:rc.PublishMessage("test","message");

  "test" 是发往频道的名字,"message"是要发送的消息。

如果文章有错或有不合适的地方请通知417126479@qq.com

0 0
原创粉丝点击