易语言与C#互相通信源码-实现易语言和C#的相关操作源码
.版本 2.支持库 sock
.程序集 窗口程序集_启动窗口
.程序集变量 server, 网络服务器
.程序集变量 client, 客户
.程序集变量 客户Duan句柄, 整数型
.程序集变量 接收数据, 文本型
.程序集变量 发送数据, 文本型
.子程序 _启动监听按钮_被单击
.如果 (server.启动 (到数值 (端口号编辑框.内容)) = 真)
接收消息编辑框.加入文本 (“服务器启动成功,端口号:” + 端口号编辑框.内容 + #换行符)
客户Duan句柄 = server.监听 (5000)
.如果 (客户Duan句柄 ≠ -1)
接收消息编辑框.加入文本 (“客户进入,客户句柄:” + 到文本 (客户Duan句柄) + #换行符)
时钟1.时钟周期 = 1000
.否则
接收消息编辑框.加入文本 (“客户连接超时,服务器已关闭” + #换行符)
server.停止 ()
.如果结束
.否则
接收消息编辑框.加入文本 (“服务器启动失败” + #换行符)
.如果结束
.子程序 _发送按钮_被单击
.如果 (server.发送 (客户Duan句柄, 发送内容编辑框.内容, 500) = 真)
接收消息编辑框.加入文本 (“服务器发送:” + 发送内容编辑框.内容 + #换行符)
.否则
接收消息编辑框.加入文本 (“服务器发送消息失败” + #换行符)
.如果结束
.子程序 _时钟1_周期事件
.局部变量 消息数据, 文本型
消息数据 = 到文本 (server.接收 (客户Duan句柄, 500, ))
.如果真 (消息数据 ≠ “”)
接收消息编辑框.加入文本 (到文本 (取现行时间 ()) + “收到客户Duan消息” + 消息数据 + #换行符)
.如果真结束
.子程序 _关闭服务器按钮_被单击
.如果 (server.停止 () = 真)
时钟1.时钟周期 = 0
接收消息编辑框.加入文本 (“服务器已关闭” + #换行符)
.否则
接收消息编辑框.加入文本 (“服务器关闭失败” + #换行符)
.如果结束
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main()
{
// 定义服务器的 IP 地址,这里使用本地回环地址,通常用于在同一台机器上进行测试
string serverIP = "127.0.0.1";
// 定义服务器监听的端口号
int serverPort = 8888;
// 使用 using 语句确保在代码执行完毕后正确释放 TcpClient 资源
using (TcpClient client = new TcpClient())
{
// 尝试与指定的服务器 IP 地址和端口建立连接
client.Connect(serverIP, serverPort);
// 获取与服务器连接的网络流,通过这个流可以进行数据的发送和接收
NetworkStream stream = client.GetStream();
// 创建一个大小为 1024 的字节数组,用于接收服务器返回的数据
byte[] buffer = new byte;
// 进入无限循环,持续接收服务器消息
while (true)
{
// 从网络流中读取数据到缓冲区,并获取实际读取到的字节数量
int bytesRead = stream.Read(buffer, 0, buffer.Length);
// 将接收到的字节数组转换为字符串,同样使用 ASCII 编码方式,然后输出接收到的服务器响应内容
string receivedData = Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine("接收到服务端响应:" + receivedData);
// 如果接收到的内容是 "exit",则退出循环
if (receivedData == "exit")
break;
// 定义要发送给服务器的消息文本内容
string messageToSend = "C#客户Duan发送的数据";
// 将消息文本转换为字节数组,这里使用 ASCII 编码方式进行转换
byte[] dataToSend = Encoding.ASCII.GetBytes(messageToSend);
// 将字节数组写入网络流,从而将数据发送给服务器
stream.Write(dataToSend, 0, dataToSend.Length);
}
// 关闭客户Duan连接,释放相关资源
client.Close();
}
}
}
好好好好的我要下载看看看 看看,到底好不好,想学学看看 这就是传说中的好资源吗?赶紧看看去! 不错不错 支持下 很不错的哦,支持,加油 我要下载试试,我要下载试试... 9999999999999999 谢谢分享!~ 学习了!!!!