学习套接字编程和TCP网络通信应该选择哪本书?

39

在接下来的几个月里,我将完成一些小项目,并需要一些书籍(最好是)或URL,以学习一些基本概念。

通常情况下,一个PC或嵌入式设备(根据项目而异)收集用户输入或从外部硬件设备获取数据,并将其传输到远程PC,然后由远程PC将其输入到数据库中。

后端将使用Delphi编写,使用Indy socket组件。前端可能是运行Delphi应用程序的PC,使用相同的Indy sockets,但也可能是编程为C的小型控制器板,没有Windows或Linux作为操作系统,但具有某些不可预见的套接字支持。

那么,我需要:

  1. 某些东西——可能是与语言无关的——使我了解套接字编程
  2. 确认我是否可以使用流并进行读/写来定义自己的协议(通过TCP/IP),这将非常简单
  3. 一些有关网络(TCP?)概念的概述;可能还要介绍一下安全性、一般的客户端/服务器相关内容(例如,我可以从客户端发送一些内容到服务器并发送回复,但对于服务器发起向单个服务器或广播到所有客户机的通信,我不是很确定)
  4. 还需要其他什么吗?

是否有任何建议可以让我跟上步伐,至少足以完成一个小项目,然后在工作中学习。

提前感谢!


我会先在谷歌上搜索基础知识,然后购买一本针对你将要使用的平台/语言的书籍。在我看来,通过使用你熟悉的语言来获取示例,理解套接字会更容易些。 - jgauffin
这个问题在 meta 上被链接。 - user2140173
2个回答

50

4
请注意,这涉及协议内部,并不教你如何使用它们。他有一本关于C开发的精彩书籍,虽然是针对某种编程语言的,但教给你很多与TCP/IP无关的细节知识。 - Karoly Horvath
1
是的,我错过了问题中的C部分,我会更新。谢谢。 - Nikolai Fetissov
+1(还有@yi_J),以及答案。谢谢。我已经下单了,迫不及待地等待着。 - Mawg says reinstate Monica
1
Beej的指南似乎很不错。最近在Linux上编译更新了。 - gideon

10

我还建议阅读IBM的免费电子书TCP/IP教程和技术概述。虽然它不会告诉你太多关于 sockets 的内容,但它是 TCP/IP 协议栈的很好的入门材料。


+1 谢谢。这很有用(而且我喜欢价格)。 - Mawg says reinstate Monica

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接