精易论坛

标题: 易语言与C#通信源码 [打印本页]

作者: dyq725    时间: 2024-9-18 14:42
标题: 易语言与C#通信源码
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
server网络服务器  
client客户  
客户Duan句柄整数型  
接收数据文本型  
发送数据文本型  

子程序名返回值类型公开备 注
_启动监听按钮_被单击  
如果 (server.启动 (到数值 (端口号编辑框.内容)) = )
接收消息编辑框.加入文本 (“服务器启动成功,端口号:” + 端口号编辑框.内容 + #换行符 )
客户Duan句柄 = server.监听 (5000)
如果 (客户Duan句柄 ≠ -1)
接收消息编辑框.加入文本 (“客户进入,客户句柄:”到文本 (客户Duan句柄)#换行符 )
时钟1.时钟周期 = 1000
接收消息编辑框.加入文本 (“客户连接超时,服务器已关闭”#换行符 )
server.停止 ()

接收消息编辑框.加入文本 (“服务器启动失败”#换行符 )

子程序名返回值类型公开备 注
_发送按钮_被单击  
如果 (server.发送 (客户Duan句柄, 发送内容编辑框.内容, 500))
接收消息编辑框.加入文本 (“服务器发送:” + 发送内容编辑框.内容 + #换行符 )
接收消息编辑框.加入文本 (“服务器发送消息失败”#换行符 )

子程序名返回值类型公开备 注
_时钟1_周期事件  
变量名类 型静态数组备 注
消息数据文本型 
消息数据 = 到文本 (server.接收 (客户Duan句柄, 500, ))
如果真 (消息数据 ≠ “”)
接收消息编辑框.加入文本 (到文本 (取现行时间 ()) + “收到客户Duan消息” + 消息数据 + #换行符 )

子程序名返回值类型公开备 注
_关闭服务器按钮_被单击  
如果 (server.停止 ())
时钟1.时钟周期 = 0
接收消息编辑框.加入文本 (“服务器已关闭”#换行符 )
接收消息编辑框.加入文本 (“服务器关闭失败”#换行符 )


i支持库列表   支持库注释   
sock网络通讯支持库
[C#] 纯文本查看 复制代码
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[1024];
            // 进入无限循环,持续接收服务器消息
            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();
        }
    }
}


作者: yuan71058    时间: 2024-9-18 15:11
大佬中秋快乐!
作者: dyq725    时间: 2024-9-18 15:18
yuan71058 发表于 2024-9-18 15:11
大佬中秋快乐!

   看明白了 你是来赚金币的
作者: zxxiaopi    时间: 2024-9-18 15:41
感谢分享
作者: GawrGura    时间: 2024-9-18 17:12
感谢分享哈哈
作者: dj1990    时间: 2024-9-18 21:31
感谢分享
作者: 89787018a    时间: 2024-9-18 22:05
大佬中秋快乐!
作者: hxq7311    时间: 2024-9-19 00:15

作者: renhe2018    时间: 2024-9-19 04:41
非常不错呦。
作者: ctry78985    时间: 2024-9-19 06:24
感谢分享~
作者: year1970    时间: 2024-9-19 07:56
感谢分享
作者: 一指温柔    时间: 2024-9-19 08:57
共同努力,共同进步
作者: 396384183    时间: 2024-9-20 09:53

感谢分享
作者: kyo9766    时间: 2024-9-20 16:12
可以学习一下 网络服务器        ,感谢分享
作者: LDL520    时间: 2024-9-21 03:02
感谢分享,很给力!~
作者: LDL520    时间: 2024-9-21 03:02
感谢分享,很给力!~
作者: LDL520    时间: 2024-9-21 03:02
感谢分享,很给力!~
作者: LDL520    时间: 2024-9-21 03:02
感谢分享,很给力!~
作者: please    时间: 2024-9-21 09:38
感谢分享,支持开源!!!
作者: please    时间: 2024-9-22 09:40
感谢分享,支持开源!!!
作者: gggdxyga    时间: 2024-9-22 21:06
学一下试试
作者: lbwnb    时间: 2024-9-29 01:27
6666666666666
作者: mywjt    时间: 2024-11-21 05:38
感谢分享,很给力!~
作者: 熊不熊    时间: 2024-12-4 12:13
感谢分享,很给力!~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4