C#websocket实现客户端.

u011010407 2014-08-17 06:32:54
求大神给资料或者demo下载地址也可以.
功能就是服务端主动给客户端推送消息.目前我想到的方法是websocket.
但是在网络上找了半天也没有找到C#做客户端的资料.
我的客户端是用C#写的.
...全文
27522 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiqincai10 2016-11-29
  • 打赏
  • 举报
回复
GoEasy推送可以简单快速解决你的问题,它是专注做web实时推送的,我们项目在线人数在2000左右,已经用GoEasy3个多月了,目前为止很稳定。服务支持也很好,你可以试试看。 https://my.oschina.net/u/2544092/blog/749128
q114687576 2016-03-31
  • 打赏
  • 举报
回复
http://www.blue-zero.com/WebSocket/ 在线WebSocket测试,客户端完美兼容IE6及以上浏览器,服务端采用【C#.NET】异步socket开发,支持多客户同时在线,服务端发送数据长度不限。
justin_fl 2016-01-20
  • 打赏
  • 举报
回复
引用 11 楼 u011010407 的回复:
没有仔细去看大家的回复.我在网络上找到了一个.net分装好的. 服务器和客户端写法跟js一样.
你用的是哪个库
yy845536580 2015-06-04
  • 打赏
  • 举报
回复
不错不错,这个很有用
u011010407 2014-10-21
  • 打赏
  • 举报
回复
没有仔细去看大家的回复.我在网络上找到了一个.net分装好的. 服务器和客户端写法跟js一样.
於黾 2014-09-19
  • 打赏
  • 举报
回复
新手不要老拍脑袋想方案,然后纠结其中无法自拔 不会用websocket,为什么非要用websocket? 你应该学习的是C#如何做socket通信,客户端怎么做,服务端怎么做 网上都有现成的代码 至于服务端到底是收到客户端请求再回发数据,还是主动推送,不过是业务逻辑上的问题,跟使用什么手段一点关系都没有
learnren 2014-09-19
  • 打赏
  • 举报
回复
引用 8 楼 diaodiaop 的回复:
[quote=引用 7 楼 tangzanfei 的回复:] websocket 和javaScript没有一毛钱关系吧?
are you sure ??

<script>
var  wsServer = 'ws://localhost:8888/Demo'; 
 var  websocket = new WebSocket(wsServer); 
 websocket.onopen = function (evt) { onOpen(evt) }; 
 websocket.onclose = function (evt) { onClose(evt) }; 
 websocket.onmessage = function (evt) { onMessage(evt) }; 
 websocket.onerror = function (evt) { onError(evt) }; 
 function onOpen(evt) { 
 console.log("Connected to WebSocket server."); 
 } 
 function onClose(evt) { 
 console.log("Disconnected"); 
 } 
 function onMessage(evt) { 
 console.log('Retrieved data from server: ' + evt.data); 
 } 
 function onError(evt) { 
 console.log('Error occured: ' + evt.data); 
 }
</script>
很简单的websocket连接 这难道不是JavaScript.....难道我记错了?[/quote] websocket可以用js去连,也可以用别的去连,不同实现而已。
by_封爱 版主 2014-09-17
  • 打赏
  • 举报
回复
引用 7 楼 tangzanfei 的回复:
websocket 和javaScript没有一毛钱关系吧?
are you sure ??

<script>
var  wsServer = 'ws://localhost:8888/Demo'; 
 var  websocket = new WebSocket(wsServer); 
 websocket.onopen = function (evt) { onOpen(evt) }; 
 websocket.onclose = function (evt) { onClose(evt) }; 
 websocket.onmessage = function (evt) { onMessage(evt) }; 
 websocket.onerror = function (evt) { onError(evt) }; 
 function onOpen(evt) { 
 console.log("Connected to WebSocket server."); 
 } 
 function onClose(evt) { 
 console.log("Disconnected"); 
 } 
 function onMessage(evt) { 
 console.log('Retrieved data from server: ' + evt.data); 
 } 
 function onError(evt) { 
 console.log('Error occured: ' + evt.data); 
 }
</script>
很简单的websocket连接 这难道不是JavaScript.....难道我记错了?
tangzanfei 2014-09-16
  • 打赏
  • 举报
回复
引用 6 楼 diaodiaop 的回复:
LZ似乎思路有问题啊....
引用
C#websocket实现客户端
引用
我的客户端是用C#写的.
所以呢?? 你要实现什么? 如果你是要写服务端的话 C#直接new tcplisten(单词不会)就行了. 如果是客户端直接new tcpclient就行了.. 所谓推送就是server循环client分别send而已.. 不知道你到底说什么 在说了 websocket似乎跟c#没一毛钱关系吧,,不是JavaScript么....
websocket 和javaScript没有一毛钱关系吧?
by_封爱 版主 2014-08-18
  • 打赏
  • 举报
回复
LZ似乎思路有问题啊....
引用
C#websocket实现客户端
引用
我的客户端是用C#写的.
所以呢?? 你要实现什么? 如果你是要写服务端的话 C#直接new tcplisten(单词不会)就行了. 如果是客户端直接new tcpclient就行了.. 所谓推送就是server循环client分别send而已.. 不知道你到底说什么 在说了 websocket似乎跟c#没一毛钱关系吧,,不是JavaScript么....
threenewbee 2014-08-17
  • 打赏
  • 举报
回复
引用 3 楼 save4me 的回复:
参考开源项目: websocket-sharp

using System;
using WebSocketSharp;

namespace Example
{
  public class Program
  {
    public static void Main (string[] args)
    {
      using (var ws = new WebSocket ("ws://dragonsnest.far/Laputa")) {
        ws.OnMessage += (sender, e) =>
          Console.WriteLine ("Laputa says: " + e.Data);

        ws.Connect ();
        ws.Send ("BALUS");
        Console.ReadKey (true);
      }
    }
  }
}
本想推荐signalr,看了这个例子,觉得更好。感谢分享。
save4me 2014-08-17
  • 打赏
  • 举报
回复
引用 3 楼 save4me 的回复:
参考开源项目: websocket-sharp
上面的是客户端代码,服务器代码示例如下

using System;
using WebSocketSharp;
using WebSocketSharp.Server;

namespace Example
{
  public class Laputa : WebSocketService
  {
    protected override void OnMessage (MessageEventArgs e)
    {
      var msg = e.Data == "BALUS"
                ? "I've been balused already..."
                : "I'm not available now.";

      Send (msg);
    }
  }

  public class Program
  {
    public static void Main (string[] args)
    {
      var wssv = new WebSocketServer ("ws://dragonsnest.far");
      wssv.AddWebSocketService<Laputa> ("/Laputa");
      wssv.Start ();
      Console.ReadKey (true);
      wssv.Stop ();
    }
  }
}
save4me 2014-08-17
  • 打赏
  • 举报
回复
参考开源项目: websocket-sharp

using System;
using WebSocketSharp;

namespace Example
{
  public class Program
  {
    public static void Main (string[] args)
    {
      using (var ws = new WebSocket ("ws://dragonsnest.far/Laputa")) {
        ws.OnMessage += (sender, e) =>
          Console.WriteLine ("Laputa says: " + e.Data);

        ws.Connect ();
        ws.Send ("BALUS");
        Console.ReadKey (true);
      }
    }
  }
}
  • 打赏
  • 举报
回复
程序不是靠从网上抄袭的。如果你不懂websocket原理,你的客户端就应该考虑放弃这种东西。
tansion2015 2021-07-19
  • 举报
回复 2
@以专业开发人员为伍 按照你的逻辑你也不要用手机了,你又不懂手机所有原理,去大学进修N年再用吧
showjim 2014-08-17
  • 打赏
  • 举报
回复
正常情况下websocket的客户端是JS,除非你是用C#使用socket来模拟。 如果是这样的话,你找的应该是websocket协议,就是在HTTP的基础上加了一点点比较简单而且还不太成熟的东西。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧