从哪里开始TCP通信?

时间:2012-09-04 16:30:24

标签: networking tcp

我正准备尝试我的第一个涉及网络通信的项目。这只是一个修补玩具的应用程序,目的是自我教学 - 这里没有任何关键任务。我需要两个节点才能相互通信。一个是Android平台,所以我将使用Java。另一个节点是运行Debian Linux的RaspberryPi。虽然我也可以在这方面使用Java,也许只是使用RPC,我想做的就是开发我自己的小实现无关的TCP / IP“协议”,让两者进行通信,然后让每个实现它然后工作最好。我的意思是“协议”是我想要一组标准的消息来回传递,以及每个消息的一些值。 E.g:

"Protocol" Definition:
MESSAGE TYPE A (Float arg, Int arg)
MESSAGE TYPE B (Int arg)
MESSAGE TYPE C (Int arg, String arg, Int arg)

示例“对话”:

Node 1                              Node 2
              A(5.4, 4)    --->
              B(6)         --->
        <---- C(3, 'Hello', 0xFF)
              B(5)         --->
        <---- A(43.0, 16)

所以我的问题是:

(1)上述甚至是否有意义?我需要澄清我的意图吗?提供更多信息?这是我第一次参与两个正在运行的程序之间的网络通信,所以我可能会偏离我所要求的。如果我以错误的方式接近这一点,我会很乐意提出更好的建议。

(2)我怎么会这样做?我只是将一个长字符串填充到TCP数据包中吗?还有更好的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您只需要用您想要的数据填充缓冲区,然后学习如何通过TCP套接字打开和发送数据。内核将处理如何安排有效负载以及如何控制TCP流。在服务器端,您必须学习如何侦听TCP套接字并读取传入数据。

答案 1 :(得分:1)

套接字编程是您应该搜索的单词。