关于Socket使用

beetle1144 2018-11-24 12:11:28
小白求助,一个服务器连接500台客户端,客户端每30秒上传一XML报文1.5k字节,服务器接收数据后转发并存入数据库,服务器网络WinServer2012+SQLServer2012+C#,怎样用Socket设计网络结构?
...全文
216 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rsjd_hifi 2018-11-30
  • 打赏
  • 举报
回复
socket 好象比较难搞,如何keeplive呢?调试半天没搞好
angel6709 2018-11-30
  • 打赏
  • 举报
回复
Socket?O.O??? 为什么不使用已经造好的轮子。
  • 打赏
  • 举报
回复
使用 tcp 还是以前 .net 入门书上的 webservice/wcf 的方式来实现服务端通讯接入网关功能,这就好像是做专业的倾向于游戏的软件和做小办公室里的 OA 网页(例如给办公室的秘书提供一个考勤查看和会议室预订功能)的区别,差别在于你的业务深度套路的大小、前端并发强度、系统能力大小、是否要求永远在线无故障。我们设计一个基于互联网的大公司营销业务系统(仅针对大公司的某个城市的业务人员),就要考虑上千个繁忙的终端使用;而设计一个某个偶尔用一下的小办公查询系统,才会认为“谁都会编写”而使用WCF等等教程上的方法。
  • 打赏
  • 举报
回复
没法回答你这个问题。任何一个刚学 tcp 编程的人都会说的东西,谈不上“设计网络结构”,你就按照基本的教程和入门程序编写代码就行了。如果说这里在传统上会有什么坑,那就是有些坑人的博客会写什么同步阻塞、while循环来 Receive 数据的代码。而真正的生产系统显然应该是异步处理的,当没有消息到来时不会找用任何线程。
xuzuning 2018-11-24
  • 打赏
  • 举报
回复
windows 系统都自带 IIS,你只要启动他就可以了。完全没必要自己写 Socket 服务端(自己写服务端,还要自己写客户端)
自己写的服务端(客户端),显然没有专业人士写的稳定可靠(如果你能达到同等水平就不会有此贴了)
  • 打赏
  • 举报
回复
如果你觉得客户端访问服务端API会导致两者互相依赖,那么可以考虑通过zookeeper或者MQ来达到两者分离的目的
  • 打赏
  • 举报
回复
为什么这么设计?500台客户端?每30/s就上传一次,这对服务端压力太大了 我建议你改成 客户端每30/s将Xml上传至Ftp服务器,服务端定时去Ftp服务器获取文件 如果你觉得这样实时性不好,那么服务端可以提供API,客户端上传成功后,调用服务端API来达到通知的目的
threenewbee 2018-11-24
  • 打赏
  • 举报
回复
你的需求在应用层面,而你的问题在网络层面。这根本没什么关系。 好比前面你说,你要写一本爱情小说,剧情如何如何,后面问,所以我要用什么样的钢笔。
mk_lucifer 2018-11-24
  • 打赏
  • 举报
回复
直接用HTTP协议,这是最简单的方法,不是所有通讯都要基于套接字,PC间通讯,现成的可用框架很多,完全可以用其他方式解决,不需要在TCP,套接字这些东西上折腾,当然学习除外。。。
电脑一多,问题也多的是,就像上面说的windows自带IIS服务,为什么不用呢??

110,536

社区成员

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

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

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