0
저는 C#에 다소 익숙하며 Modbus-TCP 슬레이브를 만들려고합니다.이벤트를 통해 tcp를 읽습니다.
내가 원하는 것은 TCP 마스터의 데이터를 수신 할 때 이벤트 처리기를 호출하는 것입니다.
namespace Mark_II.Device
{
class Slave_TCP : mSlave
{
short trans_ID;
byte[] Respond;
byte[] MasterMessage;
TcpClient Client;
NetworkStream stream;
public Slave_TCP(String IP, int Port)
{
Client = new TcpClient(IP, Port);
stream = Client.GetStream();
// insert "call event handler" here<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
}
private void client_OnReceiveData(object sender, SerialDataReceivedEventArgs e)
{
byte[] message = new byte[Client.ReceiveBufferSize];
stream.Read(message, 0, message.Length);
}
}
}
나는 주변을 둘러 보았지만 아무 것도 찾을 수 없었습니다 ... 도와주세요.
tl; dr : 클라이언트가 마스터로부터 데이터를 수신 할 때 이벤트를 발생시키는 방법을 찾고 있습니다. 일반적으로
먼저 당신에게 답변을 주셔서 대단히 감사합니다 :
코드 이벤트를 연결하는 어떻게 든 내 "새로운"코드에 넣을 수 있지만 어떻게이 "CLient"C# 클래스 "TCPClient"연결할 수 있습니까? 그것은 객체의 객체가 아닙니까? – Davant
코드를 보지 않고도 말하기가 어렵습니다. 그러나'TcpClient'가'event'를 생성하고 싶다면'TcpClient'에서'client' 클래스 코드를 사용하십시오. 그것이 당신을 위해 작동하는 경우 답변으로 표시하십시오. –