Mastering openFrameworks_第十一章_网络

网络

网络为多个设备之间的数据交换提供了一种方式。它是一个主要组成部分,允许远程控制移动和平板设备应用程序中的一些参数,也用于使交互式项目在多台计算机上同步工作。在本章中,您将学习如何在openFrameworks项目中实现和使用OSC和TCP协议,具体如下:

网络基础

使用OSC协议

使用TCP协议处理流图像

网络基础

网络包括许多硬件和软件技术,它们提供数字设备之间甚至计算机内部应用程序之间的数据交换。目前最流行的网络模型是tcp/ip(传输控制协议/互联网协议)。它使用有线(LANー局域网)或无线(wlanー无线局域网)连接。所有的现代计算机和移动设备都支持tcp/ip协议。

注意:另一种网络技术是无线ZigBee网络,广泛应用于物理计算项目。只连接两个设备可以被认为是最简单的网络。旧的但仍然流行的有线连接技术是USB、串行端口(RS-232)、RS-485和I2C(用于微设备)。

在本章中,我们将考虑使用tcp/ip连接本地网络中的多个设备。本地网络是由网络路由器构建和控制的。网络路由器是一个特殊的网络节点,它作为一个独立的设备工作,或者集成在你的笔记本电脑中。

网络路由器给每个连接到网络的设备一个唯一标识符地址,称为网络地址。地址具有192.168.0.3这样的格式,或者可以是计算机名,如Mymachine。每个设备都可以使用地址localhost或其等价物127.0.0.1引用自身。查看网络适配器的属性以查找设备的网络地址。您还可以使用Terminal窗口请求网络信息,方法是输入ipconfig命令(用于Windows)或ifconfig命令(用于MacOSx和Linux)。

要测试具有已知地址的两台计算机之间的连接,可以使用ping命令,例如ping 192.168.0.3。如果连接没有建立,它可能被路由器或计算机的防火墙或防病毒软件阻止。在这种情况下,检查它们的设置。

注意:请注意,当重新启动设备和路由器时,网络地址可能会发生变化。因此,对于长期工作的交互式安装,您应该在其网络适配器的设置中修正计算机的地址,或者只使用计算机名称而不是编号地址。

为了将一些数据从一个设备发送到另一个设备,您应该指定目标设备的网络地址,以及端口号,端口号是介于0和65535之间的整数。有些端口是保留的,例如,端口80用于通过浏览器进行HTTP协议交换。在本章的例子中,我们将使用端口12345。

系统服务很少使用大数量(大于10,000)的端口,因此您最有可能使用它们。要查明您的系统中使用了哪些端口,可以使用来自终端的特殊软件或网络命令。对于连接设备,我们经常使用端口12345、12346、12347和12348。

在本章中,我们将学习如何使用以下两个协议来实现数据传输:

OSC:开放声音控制是非常简单和快速的。它适用于快速传输少量信息(例如更改参数和对象坐标的命令)。它是交互式安装和物理计算项目中使用的主要协议。它在所有与vj-相关的软件中都得到了支持。

最初,OSC作为MIDI的网络替代品,MIDI是连接乐器的有线协议。现在,OSC用于控制广泛的应用程序和设备,通常与音乐无关。

Tcp:传输控制协议可以轻松地传输大量数据。这是一个通用的协议。在本章中,我们将看到一个使用它进行图像流的例子。

让我们从OSC协议开始。

使用OSC协议

### 回答1: 《Mastering Go》是一本关于Go语言的技术书籍,中文名为《Go语言编程》。这本书是由Mihalis Tsoukalos写的,旨在帮助读者提高自己在Go语言方面的技能和能力。 《Mastering Go》对Go语言的各个方面进行了全面深入的讲解,涵盖了从基础知识、语法和特性,到高级主题和实践技巧的内容。读者可以通过阅读本书,了解到Go语言的特点和优势,学习如何使用Go语言编写高效且可维护的程序。 这本书对Go语言的一些重要主题进行了详细的阐述,如并发和并行编程、网络编程、数据存储和数据库操作、测试和性能优化等。它还介绍了一些常见的Go语言开发工具和框架,帮助读者更加便捷地进行开发工作。 《Mastering Go》内容丰富且实用,作者通过给出大量的示例代码和案例,帮助读者更好地理解Go语言的使用方法和技巧。此外,本书还提供了一些练习和挑战,帮助读者巩固所学的知识,并提高自己的编程能力。 总之,《Mastering Go》是一本很值得阅读的Go语言技术书籍,对于想要深入学习和应用Go语言的开发者来说,它是一本宝贵的参考资料。无论是初学者还是有一定经验的开发者,读者都可以从中获得很多有用的知识和技能,从而提升自己在Go语言领域的水平。 ### 回答2: 《mastering_go_zh_cn-master》是一本关于Go编程语言的中文教程。Go是一种由Google开发的开源编程语言,它具有高效的并发性和轻量级的设计特点,用于构建快速、可靠和高性能的软件。这本教程旨在帮助读者从入门到精通掌握Go语言的使用。 这本教程覆盖了广泛的主题,包括基本语法、数据类型、控制流、函数、错误处理和并发编程等。它提供了大量的示例代码和练习题,帮助读者加深对Go语言的理解和应用。 《mastering_go_zh_cn-master》还对一些高级主题进行了深入讲解,如Go的垃圾回收机制、性能优化、包管理、程序测试和错误调试等。这些内容使读者能够更好地理解和使用Go语言,提高代码质量和开发效率。 该教程的作者对Go语言有深入的理解和实践经验,他提供了很多开发技巧和最佳实践,帮助读者避免一些常见的错误和陷阱。 总之,《mastering_go_zh_cn-master》是一本很好的Go语言教程,适合已有编程经验的读者学习和掌握Go的各个方面。无论是想要使用Go开发高效并发程序的工程师,还是想要扩展自己编程技能的爱好者,都可以从这本教程中获得很多价值。 ### 回答3: 《Mastering Go》是一本介绍Go编程语言的书籍,其中的"master"意味着掌握或精通。这本书由中文作者翻译自英文原版,名为《Mastering Go》。该书通过深入浅出的方式,向读者介绍了Go语言的各种核心概念、语法和高级特性,使读者能够在Go编程中达到熟练掌握的程度。 《Mastering Go》的中文翻译版本"master"是指完全掌握书中所涵盖的Go语言知识和技能。这本书精心组织了Go语言的各个方面的主题,包括并发编程、网络编程、内存管理、性能调优等。读者将会在每章中掌握使用Go编程语言进行实际开发的关键概念和技术。 这本书的目标受众是那些希望进一步提高他们Go编程技能的开发人员和学习者。对于具有一定程序设计基础的人来说,这本书是一个理想的学习资源,将帮助他们更好地理解Go语言,并将其应用于真实世界的项目中。 总之,《Mastering Go》是一本内容丰富且有深度的Go编程指南,通过阅读和学习这本书,人们可以有效地掌握Go语言的核心概念和高级特性,从而成为一个熟练的Go开发者。无论是对于初学者还是有经验的开发人员来说,这本书都是一个很好的学习资源,可以帮助他们更好地利用Go编程语言。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白茶等风12138

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值