using System;
using System.Threading;
using AT.Librarys.Container;
using AT.Service.ProjectScriptCS.Model;
using AT.Librarys.Container.Service;
using AT.Librarys.Container.Toolkit.Communication;
/// <summary>
///工位
/// </summary>
public class ScriptStation : ScriptBase
{
public static bool isFisrt = true;
private ITCPServer tcpServer = null;
/// <summary>
/// 执行(按时间间隔循环执行)
/// </summary>
/// <returns>注意:成功=true,null=空闲=未执行工位,false=异常</returns>
public override bool? Execute()
{
try
{
if (tcpServer == null)tcpServer = DS.Container.Get<ITCPServer>("TCP服务端应答");
if (tcpServer == null) { NotifyGError("获取工具失败:TCP服务端应答"); return false; }
if (isFisrt)
{
isFisrt = false;
tcpServer.DataReceived -= CurServer_DataReceived;
tcpServer.DataReceived += CurServer_DataReceived;
}
}
catch (Exception ex)
{
NotifyGError(ex.ToString());
return false;
}
return true;
}
//接收服务端数据
private void CurServer_DataReceived(object sender, AsyncSocketEventArgs e)
{
Random random = new Random();
tcpServer.Send(e._state.ClientSocket, $"{random.Next(1,100)},{random.Next(1,100)}".ToString());
}
}
c#脚本-TCP服务端事件接收数据
最新推荐文章于 2025-04-25 16:48:30 发布