Deno 是一个安全、简单且现代化的 TypeScript 运行时,可以直接执行 JavaScript 和 TypeScript 代码。它有着很多优点,比如支持 ES6+ 的语法和模块化,内置了 TypeScript 编译器,支持多平台使用等。在这篇文章中,我们将介绍如何使用 Deno 进行 TCP 编程。
什么是 TCP 编程
TCP 是传输控制协议(Transmission Control Protocol)的简称,是一种网络传输协议,它是一种可靠、面向连接(即建立连接后才能传输数据)、点对点的传输协议。TCP 可以在网络上提供高可靠性、高通量传输服务。而 TCP 编程就是利用 TCP 协议进行网络数据的传输与接收。
Deno 内置了 Deno.listen()
和 Deno.connect()
函数,可以方便地进行 TCP 编程。下面我们将讲解如何使用这两个函数来实现一个简单的聊天室系统。
创建服务器
首先我们需要创建一个服务器,让客户端和它进行连接,以便进行通信。
-- -------------------- ---- ------- -- ---- --- ---------------------- ----- -------- ------------ ---------- - ----- ---------- - ---------------- ---------------- ------- -------------------------------------------- ----- -------------- ----------------------------- -- ---- ---------- -- ---------------------- ----- --- - --- ----------------- ----- ------ - ----- ------ - ----- --------------- -- ------- --- ----- - ------------------------------------------------------ --------------- ------ - ----- --- - --- ------------------------------------ --------- ------------------------------------------------------ ----- --------- --------------- ----- - - -- -------------- -------- --------------- ---------- -------- ------- - --- ------ - -- -------- - -- -- -- ----- - ----------- ------------------------------- - - - -- ---------- ---- ----- -------- - ------------- ----- ---- --- ----------------- ------ -- ------- -- --------------- -- --------- ----- -------- ----------- - --- -- ----------------- ------- --- --- ----- ------ ---- -- --------- - ------------------- ------------- -
这段代码创建了一个 TCP 服务器,并监听在本地 8080 端口上。当有客户端连接时,它会打印客户端地址,并发送欢迎消息。然后会无限循环读取客户端发送的消息,并在接收到消息后广播给其他客户端。所有客户端连接会保存在一个数组中。
创建客户端
接下来我们需要创建一个客户端,并将其连接到服务器上。
-- -------------------- ---- ------- -- ----- ----- ---- - - --------- ------------ ----- ---- -- ----- ---- - ----- ------------------- ---------------------- -- ---- --------- -- --------------- ----- --- - --- ----------------- ----- --------------- --------------- --------------------------- -- -------------- ----- ----- - ----------- ------------------ -- ----- ---- -------- --- --- ----------- --- ----- ------ ---- -- ----------------- - ----- -------------- ------------------------- - ------- -
这段代码创建了一个 TCP 客户端,并连接到服务器。首先会读取服务器发送的欢迎消息,并打印出来。然后它会等待用户输入,在输入后将该消息发送给服务器进行广播。
运行聊天室系统
通过上面的代码,我们已经成功地创建了一个聊天室系统。我们可以启动服务器,同时启动多个客户端,并在客户端之间进行通信。在这里,我们展示一个同时启动两个客户端进行聊天的示例:
打开两个控制台窗口,分别输入以下命令:
deno run --allow-net chatroom/server.ts deno run --allow-net chatroom/client.ts
然后,输入一些文字并回车,即可在客户端之间进行通信。
总结
本文介绍了如何使用 Deno 进行 TCP 编程,实现了一个简单的聊天室系统。通过本文的学习,读者可以了解到 Deno 的基本使用方法,并了解 TCP 编程的基本知识。希望本文对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/653362317d4982a6eb6e8a2d