【20】processing-通讯(中文)

网络

亚历山大 · R加洛韦

网络是复杂的组织形式。它们将离散实体或节点引入关联,允许这些节点连接到其他节点,甚至连接到其他网络。网络在世界上以各种形式存在,甚至在更多的环境中存在: 政治、社会、生物和其他方面。虽然艺术家在许多方面使用了网络 -- 从用于传播作品的邮政网络,到艺术合作者的非正式网络和更大的美学运动 -- 但本节特别关注网络技术的一个实例,互联网,以及艺术家如何将这项技术融入他们的作品。有两大趋势: 艺术制作,互联网被用作快速轻松传播作品的工具,和艺术创作,互联网是作品的实际媒介。然而,这两种趋势并不相互排斥。一些最有趣的在线作品将这两种技术结合在一起,形成了令人兴奋的新形式,超越了任何一种技术的提供。

 

互联网与艺术

“1995年12月,Vuk Cosic 收到一条消息……” “网络” 的故事就这样开始了。艺术,”关注在互联网上创造艺术的利基艺术运动,开始了它的名字。正如阿列克谢 · 舒尔金在两年后发布到 Nettime 电子邮件列表的帖子中所解释的那样,斯洛文尼亚艺术家科西奇收到了一封来自匿名邮件者的电子邮件。显然在运输过程中被破坏了,信息几乎难以辨认。“唯一有意义的片段看起来像: […] J8 ~ g | # \;Net。艺术 {-^ s1 […]。”

 

匿名的、偶然的、有瑕疵的、略带伪足的 -- 这些都是网络的显著特征。艺术风格,如科西奇、舒尔金、奥利亚 · 利纳、乔迪、希斯 · 邦廷和许多其他人的基于网络的作品所示。正如玛丽娜 · 格尔津所写,“传输时间的延迟,服务提供商发出的繁忙信号,[和] 网络浏览器崩溃” 极大地促进了艺术家对网络美学潜力的设想,这一趋势与网络时代流行的智慧背道而驰,走,走,Go.2 事实上,许多毫无戒心的用户认为,Jodi 基于网络和可下载的软件项目的主要目标是立即感染和破坏个人电脑。(经过更严格的审查,必须承认这只是一个次要目标。)也许在 1998年达到顶峰,在 7-11 电子邮件列表上进行了荒谬的无政府主义实验 -- 由于列表管理工具,包括订阅,页眉和页脚变量,以及审核规则,是任何网络冲浪者都可以读写的。今天,艺术运动可以在《百家争鸣》等引人注目的出版物中看到!,同时在几个城市编辑,并于 1999年由自治媒体出版; 2003年从 CalArts 出版的同样的普世选集 NTNTNT; 或蒂尔曼 · 鲍姆格尔的两卷采访,网络。艺术 (1999)和 net.art 2.0 (2001)。

 

与此同时,在 Java 和 Flash 等编程环境的活力的鼓舞下,艺术家和设计师开始制作不仅是 “互联网” 的在线作品,但是利用网络作为一种工具,可以快速轻松地传播基于浏览器和其他方式的可执行代码。约翰 · 梅达创作了许多从 20世纪90年代中期中期开始的草图和游戏,包括一系列使用从自然和数学中借用的视觉图案的互动日历。约书亚 · 戴维斯也通过他的在线作品《祈祷》和《从前的森林》成为重要人物。像 Maeda 一样,Davis 融合了具有有机构图感的算法绘图技术。

 

值得回顾的是,20世纪90年代中期中期,网络给艺术和文化带来了深刻的乐观和解放感。突然之间,像戴维斯这样的纹身溜冰者在全球各地穿梭,与戴着眼镜的风险资本家谈论网络、生成代码和开放软件项目的可能性。像 Geert Lovink 这样戴着眼镜的哲学家正在全球各地穿梭,与纹身溜冰者谈论 -- 还有什么 -- 网络、生成代码和开放软件项目的可能性。一切都乱七八糟。甚至是网。艺术运动在一定程度上受到了 Lovink 对 “有线” 和加利福尼亚所有事物的怀疑的影响,但还是受到了网络乌托邦式承诺的推动,无论如何,有时这些网络在这个过程中不得不被削减和黑客攻击。几十年来,网络一直是对所有集权和独裁事物的补充和接种,无论是保罗 · 巴兰关于 AT&T/贝尔国家电话网络和当时即将出动的苏联洲际弹道导弹的 1964 原理图; 还是 20世纪60年代新社会运动的基层网络,这将在德勒兹和瓜塔里标志性的 “根茎” 文学概念中获得艺术地位,这实际上是网络存在的草根模型; 或者事实上,贝尔托·布莱希特关于无线网络早期革命性潜力的早期和经常被引用的评论 (著名的,在汉斯 · 马格努斯 · 恩森伯格的 1974 篇关于新媒体的文章中,“媒体理论的组成部分”)。换句话说,网络在 20世纪90年代末中期到的到来在艺术和文化上产生了很多兴奋,因为这似乎预示着一些新的,很有可能是革命性的社会互动模式的到来。或者,正如科西奇曾经说过的,典型的虚张声势,“到目前为止,所有的艺术都只是互联网的替代品。”

 

通过参考各种艺术家和运动的不同软件实践,将这些言论联系起来也很有帮助。每个软件环境都是一个独特的媒介。每一种都给予艺术家特殊的审美支持,并减少其他人。考虑到艺术家的倾向,每种副作用都有可能被强调或避免。因此,虽然承认数字艺术家的工具和材料往往差异很大,但观察网络也许是有帮助的。艺术场景 (Bunting,Shulgin,Lialina,Jodi 等),尤其是在 1995-2000 期间,主要用基于浏览器的标记语言编码,如 HTML,添加 Javascript 来执行基本算法。这一时期的精简版 “仅文本” 格式与众不同。许多不同的艺术家使用的一个笑话是根本没有一个合适的主页,而是使用 Apache 默认的文件和文件夹目录索引。然而,剥离的方法并不总是为用户提供简单,就像 Jodi 早期主页一样 (现在存档在 http://wwwwwwwww.jodi.org ) 他们忽略了一个关键的预标记,然后明显试图过度补偿第一个故障,用眨眼标签包围页面,眼睛上的刺痛程度不亚于丢失的预标签迷失方向。闪烁的页面在浏览器窗口中剧烈跳动,一个小故障使另一个更加复杂。作为网景导航器对 HTML 的未经授权的添加而创建的,blink 标签在 20世纪90年代末中期随着 Internet Explorer 变得更加占主导地位而从互联网上消失。今天,Jodi 页面不会闪烁。一个奇迹就是作品: 在人们使用网景的几年中,出现在网景浏览器窗口中的 op-art 频闪效应,或者今天仍然在线的 HTML 源代码,其中的工作被 “解释” 给任何愿意追踪标记丢失和错位的叙述的侦探?

 

虽然艺术家早在 20世纪90年代中期中期网络普及之前就已经使用了固定宽度的 ASCII 字体和 ANSI 字符作为设计元素,正是 HTML 1993年的创建 (与它在新发明的网络服务器和网景等网络浏览器中的使用同步) 将互联网转变为视觉艺术的空间。HTML 迅速成为最有影响力的标记语言和图形设计协议有两个原因: 第一,HTML 的纯文本特性使得它在大多数用户通过调制解调器和电话线连接的时候具有低带宽友好性; 其次,HTML 是一种协议,这意味着它作为一个公分母(尽管有眨眼标签) 桥接各种不同的技术平台。但是,正如戴维斯的作品中所看到的,它被 Flash 所吸引,但也包括网络、印刷和视频,人们不能过分强调 HTML 作为一种美学媒介。在同一时期,可执行代码 (Java 小程序、 Flash 、冲击波等) 的网络交付作为艺术制作的媒介也变得越来越令人兴奋,像 CUSeeMe 一样,网络广播、视频和其他在浏览器框架的正常范围之外运行的流媒体内容。约翰 · 西蒙的 1997 每个图标都是作为一个 Java 小程序编写的,因此可以很容易地作为可执行代码在线交付。在列夫·曼诺维奇被称为 “一代闪光” 的作品中,一个全新的社区出现了,包括 Yugo 仲村,Matt Owens,詹姆士 · 帕特森和像 i | o 360 ° 这样的网络初创公司以及 Razorfish (或艺术家自己的设计商店) 和独立青年文化相交。他们的媒介不仅仅是 HTML 的纯文本标记代码,还有更复杂的 Macromedia 语言 (ActionScript 和 Lingo) 以及 Javascript 、 Java,和服务器端语言,如 Perl 和 PHP。

 

互联网概念

为了理解如何制作和观看在线作品,解决计算机网络领域的一些关键概念将是有用的。计算机网络由通过数据链连接的两台或多台机器组成。如果联网计算机主要作为数据源,则称为服务器。服务器通常有一个固定的地址,连续在线,并作为文件的存储库,这些文件被传输回网络上任何其他请求它们的计算机。如果联网计算机主要作为信息律师,它被称为客户。例如,在检查电子邮件时,一个人充当客户。同样,存储电子邮件的机器 (以电子邮件地址中的 @ 符号命名的机器) 充当服务器。这些术语是灵活的; 机器可以在一个上下文中充当服务器,在另一个上下文中充当客户端。

 

任何连接到互联网的机器,无论是客户端还是服务器,都有义务拥有一个地址。在互联网上,这些地址称为 ip地址,格式为 123.45.67.89。(目前正在推出一种新的寻址标准,使地址稍长一些。)由于 ip地址不时变化且难以记忆,因此称为域名系统 (DNS) 的自然语言快捷方式系统允许 ip地址被域名取代,如 “processing.org” 或 “google.com”。在网址中,紧接域名前的单词是主机名;对于 web 服务器,通常以万维网命名主机 “www”。但这只是习惯。事实上,网络服务器的主机名可以是任何东西。

 

视觉艺术家在他们的作品中使用互联网的主要方式之一是将网络想象成一个巨大的数据库,一个可能被放大、扫描的输入流,并使用自动客户端进行解析。这是一种艺术方法,它承认数据的基本易变性 (程序员称之为从一种数据类型到另一种数据类型的 “转换” 变量),并使用各种数据源作为输入流来支持动画,要使用伪随机值填充数字数组,要跟踪行为,或者非常简单地说 “内容”。丽莎 · 杰夫布拉特 1:1 的工作是通过一个前提来实现的,即每个 ip地址可能由一个像素表示。她的工作扫描 ip地址命名空间,按数字,ping 每个地址,以确定机器是否在该位置在线。结果被可视化为一个巨大的位图中的像素,从字面上看,它代表了整个互联网 (或者至少所有那些具有固定 ip地址的机器)。以一种非常不同的方式,马克 · 纳皮尔的两部作品粉碎机和数字垃圾填埋场依赖于看似无休止的在线数据涌入,以原始创作者意想不到的方式重新排列和覆盖原始材料。像食肉动物一样工作 (下面更多内容) 和 minitask 将网络本身作为数据源,前者利用实时网络流量,后者利用 Gnutella 对等网络上的实时流量。早期的作品,如> I/O/D 4 (被称为 “网络跟踪者”),或 Jodi 的错误浏览器系列替代网络浏览器也说明了这种方法,网络本身就是艺术。所有这些工作都自动化了从互联网上获取数据并以某种方式操纵数据的过程。最常见的类型之一是 web 客户端,这是一种自动请求和接收万维网上远程文件的软件。

 

示例 1: Web 客户端

处理的网络库包括服务器和客户端的现成的类。为了从 web 获取页面,首先创建一个客户端并连接到远程服务器的地址。使用简单的调用和响应技术,客户端请求文件,文件由服务器返回。此呼叫和响应由称为超文本传输协议 (HTTP) 的协议定义。HTTP 由一些简单的命令组成,这些命令用于描述服务器和客户端的状态,请求文件,并在必要时将数据发布回服务器。最基本的 HTTP 命令是 GET。此命令类似于在库中填写图书请求表单: 客户端按名称请求文件,服务器 “获取” 该文件,并将其返回给客户端。HTTP 还包括一些响应代码,以指示成功找到文件,或指示是否遇到任何错误 (例如,如果请求的文件不存在)。命令 GET/HTTP/1.0 \ n 表示客户端请求根 web 目录中的默认文件 (/),并且客户端能够使用 HTTP 版本 1.0 进行通信。尾随 \ n 是换行符,或者大致相当于按下 return 键。如果存在默认文件,服务器将其传输回客户端。

 

虽然大多数计算机只有一个以太网端口 (或无线连接),但每台计算机的整个连接能够维持比单个输入或输出更多的连接,因为端口的概念被抽象为软件,因此端口的功能被多次重复。通过这种方式,每台联网计算机都能够跨数十个不同的连接对其单个网络连接进行多任务处理 (共有 1,024 个知名端口和 65,535 个端口)。因此,端口允许联网计算机在大量 “通道” 上同时通信,而不会阻塞其他通道或阻碍应用程序的数据流。例如,可以同时阅读电子邮件和上网,因为电子邮件通过一个端口到达,而网站使用另一个端口。Ip地址和端口号的并集 (例如: 123.45.67.89:80) 称为套接字。插座连接是网络的面包和黄油。

 

 

// 1: 使用 HTTP 的简单 web 客户端
import processing.net.*; 
Client c; 
String data;
void setup() { 
  size(200, 200); 
  background(50); 
  fill(200);
  c = new Client(this, "www.ucla.edu", 80);  // 连接到端口 80 上的服务器 
  c.write("GET / HTTP/1.0\n");  // 使用 HTTP “GET” 命令来请求网页
  c.write("Host: www.ucla.edu\n\n"); //告诉服务器您正在为哪个域发出请求
} 
void draw() {
  if (c.available() > 0) {    //如果有来自客户端的传入数据.
    data += c.readString();   // 。..然后抓住它并打印出来 
    println(data); 
  } 
}

示例 2: 共享绘图画布

使用处理网络库,可以创建一个简单的服务器。该示例显示了在两台计算机之间共享绘图画布的服务器。为了打开套接字连接,服务器必须选择一个端口,在该端口上监听传入的客户端并通过该端口进行通信。尽管可以使用任何端口号,但最好避免使用已分配给其他网络应用程序和协议的端口号。一旦套接字建立,客户端可以连接到服务器并发送或接收命令和数据。

 

与该服务器配对,通过指定套接字连接应指向的远程地址和端口号来实例化处理客户端类。建立连接后,客户端可以向服务器读取 (或写入) 数据。因为客户端和服务器是同一硬币的两面,所以两者的代码示例几乎相同。对于此示例,当前和以前的鼠标坐标每秒在客户端和服务器之间发送几次。

 

 

// 2A: 共享绘图画布 (服务器)
import processing.net.*;
Server s; 
Client c;
String input;
int data[];
void setup() { 
  size(450, 255);
  background(204);
  stroke(0);
  frameRate(5); // 慢下来一点
  s = new Server(this, 12345);  // 在端口上启动简单服务器
} 
void draw() { 
  if (mousePressed == true) {
    // 划清界限
    stroke(255);
    line(pmouseX, pmouseY, mouseX, mouseY); 
    // 将鼠标坐标发送给其他人
    s.write(pmouseX + " " + pmouseY + " " + mouseX + " " + mouseY + "\n");
  }
  
  // 从客户端接收数据
  c = s.available();
  if (c != null) {
    input = c.readString(); 
    input = input.substring(0, input.indexOf("\n"));  // 只换行符
    data = int(split(input, ' '));  // 将值拆分为数组
    // 使用接收坐标绘制直线
    stroke(0);
    line(data[0], data[1], data[2], data[3]); 
  }
}

 

// 2B: 共享绘图画布 (客户端)
import processing.net.*; 
Client c; 
String input;
int data[]; 
void setup() { 
  size(450, 255); 
  background(204);
  stroke(0);
  frameRate(5); // 慢下来一点
  // 连接到服务器的 ip地址和端口
  c = new Client(this, "127.0.0.1", 12345); //替换为服务器的 IP 和端口
} 
void draw() {         
  if (mousePressed == true) {
    // 划清界限
    stroke(255);
    line(pmouseX, pmouseY, mouseX, mouseY); 
    // 将鼠标坐标发送给其他人
    c.write(pmouseX + " " + pmouseY + " " + mouseX + " " + mouseY + "\n");
  }
  //从服务器接收数据
  if (c.available() > 0) { 
    input = c.readString(); 
    input = input.substring(0,input.indexOf("\n"));  // 只换行符
    data = int(split(input, ' '));  // 将值拆分为数组
    // 使用接收坐标绘制直线
    stroke(0);
    line(data[0], data[1], data[2], data[3]); 
  } 
}

示例 3: 食肉动物客户

如果需要对数据网络流进行较低级别的检查,用于处理的食肉动物库允许程序员从处理环境中运行数据包嗅探器。数据包嗅探器是任何能够不分青红皂白地窃听通过局域网 (LAN) 传输的数据流量的应用程序,即使是未发送到运行嗅探器的机器的流量。虽然这听起来可能不是正统的,而且实际上运行嗅探器的机器被描述为处于 “混杂模式”,但数据包嗅探技术和互联网本身一样普遍,而且同样古老。系统管理员使用数据包嗅探器来排除网络错误。所有 Macintosh 机器都预装了数据包嗅探器 tcpdump,而 Windows 和 Linux 用户有各种免费嗅探器 (包括 tcpdump 及其变体) 可供选择。用于处理的食肉动物库只是简化了嗅探数据包的行为,使得任何希望这样做的艺术家都可以轻松实现实时流量监控。通过食肉动物捕获的数据包可以以地图形式可视化,解析为关键字,或者简单地用于任何类型的算法,这些算法需要源源不断的非随机事件触发器。

 

/* *
* 3: 食肉动物客户
*
* 此示例需要食肉动物库进行处理 ( http://r-s-g.org/carnivore )
* 在 Windows 上,首先安装 winpcap ( http://winpcap.org )
* 在 Mac OS X 上,首先打开一个终端并执行此通信: sudo chmod 777 /dev/bpf *
* (每次重新启动 Mac 时都必须这样做)
*/
import java.util.Iterator;
import org.rsg.carnivore.*;
import org.rsg.carnivore.net.*;
import org.rsg.lib.Log;
HashMap nodes = new HashMap();
float startDiameter = 100.0;
float shrinkSpeed = 0.97;
int splitter, x, y;
CarnivoreP5 c;
void setup(){
  size(800, 600);
  ellipseMode(CENTER);
  Log.setDebug(true); // 取消对详细模式的注释
  c = new CarnivoreP5(this);
  //c.setVolumeLimit(4);
}
void draw() {
  background(255);
  drawNodes();
}
// 遍历每个节点
synchronized void drawNodes() {
  Iterator it = nodes.keySet().iterator();
  while (it.hasNext()){
    String ip = (String)it.next();
    float d = float(nodes.get(ip).toString());
    // 遍历每个节点
    String ip_as_array[] = split(ip, '.');
    x = int(ip_as_array[2]) * width / 255; //缩放到小程序大小
    y = int(ip_as_array[3]) * height / 255; // 缩放到小程序大小
    
    // 绘制节点
    stroke(0);
    fill(color(100, 200));  // 轮圈
    ellipse(x, y, d, d);    // 节点圆
    noStroke();
    fill(color(100, 50));   // 光环
    ellipse(x, y, d + 20, d + 20);
    
    // 绘制文本
    fill(0);
    text(ip, x, y);
    
    // 将节点缩小一点
    if(d > 50) {
        nodes.put(ip, str(d * shrinkSpeed));
    }
  }  
}
// 每次新数据包到达时都调用
synchronized void packetEvent(CarnivorePacket packet){
  println("[PDE] packetEvent: " + packet);
  // 记住我们哈希映射中的这些节点
  nodes.put(packet.receiverAddress.toString(), str(startDiameter));
  nodes.put(packet.senderAddress.toString(), str(startDiameter));
}

互联网协议

食肉动物是这里讨论的计算机网络的最后一个领域的一个很好的垫脚石: 互联网协议。协议是技术标准。互联网协议是一系列描述如何实现标准互联网技术的文件,如数据路由、两台机器之间的握手、网络寻址和许多其他技术。已经讨论了两个协议 -- HTML,这是超文本布局和设计的语言协议; 和 HTTP,这是访问网络可访问文件的协议 -- 但是在这种情况下还有一些其他协议值得讨论。

 

协议是抽象的概念,但它们也是相当重要的,并以结构化数据头的形式表现出来,这些头预先准备并封装了通过互联网传播的所有内容。例如,为了使一个典型的 HTML 页面从服务器传输到客户端,该页面由一个 HTTP 头 (几行文本,类似于前面引用的 GET 命令) 前缀。这个数据的全局本身由两个额外的头,首先是传输控制协议 (TCP) 头,然后是互联网协议 (IP) 头。到达目的地后,消息将被打开包装: IP 标头被删除,然后是 TCP 标头,最后删除 HTTP 标头以显示原始 HTML 页面。所有这些都是在一眨眼的时间内完成的。所有标头都包含有关数据包的有用信息。但是也许最有用的四个信息是发送者 ip地址、接收者 ip地址、发送者端口和接收者端口。这四个部分很重要,因为它们表示有问题的机器的网络地址,另外,通过对端口号的反向查找,正在传输的数据类型 (端口 80 表示 web 数据,端口 23 表示 Telnet 连接,依此类推)。查看任何 Macintosh 、 Linux 或 UNIX 机器上的/etc/services 文件,或浏览 IANA 的注册表以获取完整的端口号列表。地址包含在从字节 12 到字节 29 (从 0 计数) 的 IP 报头中,而端口包含在字节 0 到 TCP 报头的三个。

 

套接字连接的两个元素 (ip地址和端口) 由于 IP 和 TCP 的性质不同,被分成两个不同的协议。IP 协议涉及将数据从一个地方路由到另一个地方,因此需要有一个 ip地址才能正确路由,但很少关心其有效载荷中的数据类型。TCP 涉及在服务器和客户端之间建立虚拟电路,因此需要关于正在尝试的互联网通信类型的更多信息。IP 和 TCP 工作得如此紧密,以至于它们经常被一口气描述为 “TCP/IP 套件”。

 

虽然互联网上的大多数数据依赖于 tcp/IP 套件来传播,但某些形式的网络通信更适合 UDP/IP 组合。用户数据报协议 (UDP) 的实现比 TCP 更精简,因此它牺牲了 TCP 的许多特性,然而,它对于无状态数据连接和每秒需要高吞吐量数据包的连接 (如在线游戏) 是有用的。

 

网络工具

程序员可以在处理环境之外使用许多现有的网络工具。已经提到了食肉动物和 tcpdump,两种不同类型的数据包嗅探器,它们允许一个人实时接收局域网数据包。使用端口扫描工具 (如 Nmap) 也可以扫描网络以查找可用主机的过程,称为网络发现。这些工具使用各种方法循环遍历一组数字 ip地址 (例如: 192.168.1。x,其中 x 从 0 增加到 255),测试以查看机器是否在该地址做出响应。然后,如果已知一台机器处于联机状态,则使用端口扫描器来循环遍历该机器上的一系列端口 (例如: 192.168.1.1:x,其中 x 是从 1 到 1024 递增的端口号),以确定哪些端口是开放的,从而确定哪些应用程序服务可用。端口扫描也可用于获取远程机器的 “指纹”,这有助于识别机器当前的操作系统、类型和已知应用服务的版本信息。

 

自 20世纪90年代中期代中期网络出现以来,流行网络最显著的进步可能是像 Gnutella 或 BitTorrent 这样的点对点系统的发展。紧随 Napster 之后,Gnutella 完全分发了文件共享和传输的过程,但也完全分发了网络的搜索算法,这一细节给更集中的 Napster 造成了瓶颈 (更不用说法律责任了)。使用分布式搜索算法,搜索查询从一个节点跳到另一个节点,就像 IP 路由中使用的 “热土豆” 方法一样; 它们不会通过任何集中式服务器。Gnutella 协议已经在几十个点对点应用中实现。

 

然而,最近 Gnutella 被 BitTorrent 等系统取代,BitTorrent 是一种点对点应用程序,允许大量用户同时进行文件传输。BitTorrent 因其更高的效率而广受欢迎,尤其是对于视频和软件等大型文件的传输。

 

许多需要网络音频的软件项目已经开始依赖开放声音控制 (OSC) 协议。OSC 是计算机和合成器等多媒体设备之间通信的协议。OSC 已经集成到超级对撞机马克斯/MSP 中,并移植到大多数现代语言,包括 Perl 和 Java。Andreas Schlegel 的 “oscP5” 是一个用于处理的 OSC 扩展库。

 

互联网在其他方面也变得更加面向同伴,不仅仅是通过文件共享,还通过朋友社区和其他类型的社交互动。像 Facebook 、 Twitter 或 YouTube 这样的 Web 2.0 平台允许一群人相互交流,无论是五个人或十个人的小组,还是几千个人的小组。虽然更传统的客户端-服务器模型依赖于信息提供者和信息使用者之间的明确区分,但较新的系统已经破坏了一些旧的层次结构,允许网络用户同时充当内容的生产者和消费者。因此,这些系统在很大程度上依赖于用户生成的内容,并期望其用户群有更多的参与和互动。

 

结论

程序员通常需要考虑对象和事件的网络之间的互连。正因为如此,网络编程是单个机器编程的自然扩展。类向其他类发送消息,就像主机向其他主机发送消息一样。对象具有接口,以太网适配器也具有接口。对话中实体的算法构建 -- 像素、位、帧、节点 -- 是处理的核心。通过将这些实体中的一些移动到一台机器上,将一些移动到另一台机器上,将它们联网只是一个小的额外步骤。然而,当真正的网络发生时,需要了解各种标准和技术。

 

从历史上看,网络艺术有两条基本链: 网络被用作艺术创作的实际媒介的艺术,或艺术,其中网络被用作作品传播的运输媒介。前者可能被理解为互联网的艺术,而后者可能被理解为互联网的艺术。本文的目的是介绍网络艺术的一些基本条件,包括技术和美学,希望全新的技术和方法将在未来随着两条线融合在一起成为令人兴奋的新形式而出现。

 


注解

1.阿列克谢 · 舒金,“网络艺术 -- 起源”,网络时间邮件列表档案,1997年3月18日, http://nettime.org/Lists-Archives/nettime-l-9703/msg00094.html 。

2.玛丽娜 · 格尔齐尼克,“曝光时间、光环和远程机器人”,载于《花园里的机器人: 互联网时代的远程机器人和远程认识论》,由肯·戈德堡编辑 (麻省理工学院出版社,2000),第 215.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值