faryou的技术折腾 - 2023年10月
type: channel
link: https://blog.faryou.eu.org/tech/index.php/2023/10/
description: 原谅我这一生不羁放纵爱自由~
items: 使用易语言编写通讯软件的思路及代码实现

使用易语言编写通讯软件的思路及代码实现
type: item
date: 2023-10-11T20:05:00+08:00
description: 前言 本来我写过一个易语言基础教程，但是后来感觉大家似乎对此都不太有评论，也没什么回应。个人认为主要有两个原因：一是易语言使用中文，本身挺好懂的；二是没有真正的需要去动脑的内容。于是我决定推出这篇文章，带大家写一个易语言程序，开阔开阔思路。通讯功能实现思路（后端）易语言实现通讯有两种方式：客户-服务端、数据报。这里主要讲第一种。各位可以先看一下HF通讯，就是采用这种方式编写的。 客户-服务端 首先，需要有两个组件：客户、服务端。因为是聊天软件， 所以不需要分两个客户端分别编写。 服务端：服务端在编写时需要获得主机名、端口号等信息，写起来会麻烦一些。下面是思路：首先添加组件（无需调整位置大小，因为不会出现在前端），然后编写一段获取主机信息的代码，作为之后连接到客户的参数。然后编写发送数据代码即可。 客户：客户组件在编写程序时只需要有连接服务端代码、发送数据代码即可。这种方式更为稳定，可以传输大文件，适用于内网文件传输，发消息配置起来有些复杂（有点大材小用），不推荐。内网聊天可以试试数据报方式。数据报 首先添加数据报组件。 由于数据报阉割了客户-服务端的功能，所以不能进行大数据传输。添加控制接收端参数的代码，然后再加入发送数据的功能对接到前端即可。UI设计思路（前端）UI可以自己设计，此处仅根据HF通讯的UI进行讲解，仅供参考。美化 因为易语言本身对前端的优化很不好，所以尽量自己P图。我审美太差，就不细说了，大家自己设计设计。主要组件 1.发送编辑框 在HF通讯中，编辑框被放到了界面的最左下角。当然，如果你有自己的想法，比如放在右下角（和微信一样）。注意编写程序时对接到“发送数据”。 2.发送按钮 在HF通讯中，发送按钮在编辑框的右侧紧挨着。这个其实更符合自己的操作逻辑，当然，如果你放到下面也可以。注意编写程序时对接到“发送数据”。 3.消息框 消息框放在编辑框的上面，应该是各大通讯软件共有的UI设计。在HF通讯中，我使用了编辑框组件，并禁用了编辑功能。可以在消息框后放背景图用于美化。注意在编写程序时对接到“接收数据”。 4.发送音频/视频/图片/其他文件功能按钮 在HF通讯中，这些按钮在右侧排列，并对接到了各发送窗口，输入路径即可发送。注意在编写程序时转化到“字节集”类型并对接到“发送数据”，发送文件名。 5.播放按钮在HF通讯中，播放按钮与发送按钮并列，以获取到的文件名打开。注意在编写程序时对接到“接收数据”。 其他还有一些组件/窗口，由于不很重要（非程序主体），我就不介绍了，大家自行探索。