开发套接字服务器的最佳语言和IDE是什么? 我想要一种能够快速学习的语言 企业层面。请给我一些好的资源:) 感谢
推荐语言
'我只知道Flash和脚本语言'
•JAVA
•C语言和VB ++
•PHP
我想让我的Flash动画连接到旧版 后端系统。我公司的IT主管离开了 我不希望这个项目得到罐装。我愿意熬夜 夜间学习,只要我能得到原型。
我在做什么'连接到古老的后端系统'
没有时间限制或限制
您企业中是否已使用过任何语言? 使用C和VB
您的套接字服务器应该有多复杂?
不复杂,但有一个很好的库和基础,以便以后扩展
你能使用现有的东西吗?
是的,但它不会花费任何成本
您的目的是什么
学习和概念证明是我的目的。出来的
盒子解决方案是理想的,但有时候实现一个新的框架
需要花费很多时间,并且可能违背已有的内容。
我可能会选择一种可以继续用于游戏开发的语言。
答案 0 :(得分:2)
什么是最好的语言和IDE 开发套接字服务器?
任何支持套接字编程的语言(几乎任何东西)。这个问题有点过分了。
我想要一种能够快速学习的语言 这将在企业级别上运作。
您可以快速学习大多数语言,但要精通它们可能需要时间。更重要的是,该语言与您使用的库无关。
以下是我的意思的几个例子:
Python 几乎没有时间精通,但我不确定它是如何“企业级”的(它被美国宇航局,谷歌和其他一些主要参与者使用,所以它可能就足够了)。
它也是非常高级的,所以如果你能在十行代码中为一个简单的套接字服务器编写代码,我不会感到惊讶(它只需要一个代码行在python中创建一个Web服务器。)
Java 和 C#/ C ++。cli / VB + 应支持使用相对较少的代码行创建套接字服务器,因为它们具有相同的代码(与python相同)已经制作的库支持大部分功能。
它们比Python更冗长,所以你会写更多的代码。
我不太了解 PHP ,以说明它有多好。
C 级别太低,这意味着您可能会比其他人提到的更多代码。它功能非常强大,但用C语言编写项目至少需要一周时间编写代码和一周(可能还有更多)来调试它 - 特别是如果你是这个语言的新手。
C ++ ......在整个频谱范围内(它既高又低)但很难正确使用(它有很多怪癖,你犯的错误直到你都不明显明白为什么它的设计原样)。 C ++可能比C更需要学习和正确使用。
请为我安排一些好事 资源:)+
我愿意,但你的问题太宽泛了。以下是一些缩小范围的问题:
你的时间限制是什么?
有任何限制吗?
是您企业中已使用的任何语言吗?
您的套接字服务器应该有多复杂?
你能使用现有的东西吗?
您的目的是什么(您是否迫切需要套接字服务器功能?您是否需要学习套接字编程?您是否需要基于套接字服务器的解决方案来解决您遇到的问题?)
< / LI>修改强>:
考虑到你的答案,我建议使用C ++和boost(具体来说是boost :: asio)。这是我的理由:
我很可能会选择 我可以继续使用的语言 游戏开发。
C ++是游戏开发的首选语言。它有许多陷阱,但优势似乎超过了它。
如果你使用优秀的C ++实践,你将避免大多数陷阱,并合理地管理你无法避免的陷阱。 (如果你想要一个良好实践列表或常见的C ++陷阱,请提出一个新问题:))。
它不会花费任何成本
无论是C ++还是提升都不会带来任何成本。
对于IDE,您可以为Windows下载 Microsoft的Visual Studio 2010 Express (免费),并使用 Eclipse + CDT 或 Code :: Blocks 对于其他平台(我认为它们也适用于Windows)。
如果可能,还要使用分布式源代码控制系统(如 Git 或 Mercurial )。它们为您节省了很多麻烦,使代码管理变得更加容易。
学习和概念证明是我的 目的
你会学到很多东西:D。
以下是一些可以帮助您入门的资源:
对于C ++,请查看Thinking in C++(免费)和(如果您可以开始使用它们)Effective C++,More Effective C++以及Effective STL。
对于提升,一旦开始使用C ++,boost documentation(也是免费的)应该足够了。
具体来说,看看boost::asio examples。它们为各种服务器(HTTP服务器,回显服务器等)提供完整的源代码。
boost :: asio是一个已经实现的框架,但学习C ++和它上面的升级库可能需要一个陡峭的学习曲线。
答案 1 :(得分:2)
答案 2 :(得分:1)
为什么甚至需要TCP / IP套接字?我认为在某种程度上它是,但是使用像JMS这样的东西将套接字层抽象为更易于管理的东西会不会更容易?这就是我要去的方向。
我想这就是Java的答案。虽然我不知道任何名字,但我确信在C ++中也有很好的消息代理系统。这不是关于语言,而是关于图书馆! : - )
答案 3 :(得分:0)
如果您只需要从Flash应用程序接收一些数据并且您没有高性能或可伸缩性目标,那么您可以在Flash中使用URLLoader并在服务器上使用PHP之类的内容。甚至可能不需要套接字服务器。
如果你想深入了解套接字,我建议你学习一些C.套接字通常在OS内核中实现,它通过一组低级系统调用来公开它们。
由于对套接字工作和与系统其他元素交互的方式(如描述符轮询,进程,线程和调度)的详细解释,往往会处理C.
答案 4 :(得分:0)
有几次我不得不编写套接字服务器代码而Java完成了这项工作(我不知道Python对它有什么意见。)但我真的要先检查它是否绝对必要在socket和tcp / ip级别处理与Flash应用程序的通信。
Java提供了您正在寻找的东西:
答案 5 :(得分:-1)
您在企业级别上最好的选择是C#,但鉴于您目前使用MySQL的Flash技术堆栈,使用Python或Java可能会更好。
像瘟疫一样避免使用PHP。
C#将使您受益最大的地方就是通信... Windows Communication Foundation(WCF)是现在最好的高级网络编程库。 Visual Studio也是最好的IDE,IMO。但是,C#和.NET与MySql不兼容,因此它可能不适合您的堆栈。
如果你采用Java或Python路线,两者都有一个像Eclipse一样好的IDE。