102 lines
3.5 KiB
C#
102 lines
3.5 KiB
C#
/*
|
|
* Copyright (c) 2025 LG Electronics Inc.
|
|
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
|
|
*/
|
|
using Aurora.Api.Devices;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net.Sockets;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace VisionLight {
|
|
/// <summary>
|
|
/// 소켓 통신을 위한 클래스
|
|
/// </summary>
|
|
public class SocketConn : Aurora.Api.Devices.SocketConn {
|
|
/// <summary>
|
|
/// 생성자
|
|
/// </summary>
|
|
/// <param name="deviceId">디바이스 ID</param>
|
|
/// <param name="isSimul">시뮬레이션 유무</param>
|
|
/// <param name="protocolType">프로토콜 타입(TCP/UDP)</param>
|
|
public SocketConn(string deviceId, bool isSimul, SocketProtocol protocolType) : base(deviceId, isSimul, protocolType) {
|
|
}
|
|
|
|
/// <summary>
|
|
/// 소켓 통신 연결
|
|
/// </summary>
|
|
/// <param name="connConfig">소켓 연결 컨피그</param>
|
|
/// <returns>성공 유무</returns>
|
|
public new int Connect(SocketConnConfig connConfig) {
|
|
return base.Connect(connConfig);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 현재 연결 상태 가져오기
|
|
/// </summary>
|
|
/// <returns>연결 유무</returns>
|
|
public new bool IsConnected() {
|
|
return (bool)base.IsConnected();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 데이터 송수신
|
|
/// </summary>
|
|
/// <param name="sendData">보내는 데이터</param>
|
|
/// <param name="receiveData">받는 데이터</param>
|
|
/// <param name="timeOut">타임아웃(ms)</param>
|
|
/// <returns>성공 유무</returns>
|
|
public new int SendAndRecieve(string sendData, out byte[] receiveData, int? timeOut = null) {
|
|
return base.SendAndRecieve(sendData, out receiveData, timeOut);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 데이터 송수신
|
|
/// </summary>
|
|
/// <param name="sendData">보내는 데이터</param>
|
|
/// <param name="receiveData">받는 데이터</param>
|
|
/// <param name="timeOut">타임아웃(ms)</param>
|
|
/// <returns>성공 유무</returns>
|
|
public new int SendAndRecieve(byte[] sendData, out byte[] receiveData, int? timeOut = null) {
|
|
return base.SendAndRecieve(sendData, out receiveData, timeOut);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 데이터 송신
|
|
/// </summary>
|
|
/// <param name="sendData">보내는 데이터</param>
|
|
/// <returns>성공 유무</returns>
|
|
public new int Send(string sendData) {
|
|
return base.Send(sendData);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 데이터 송신
|
|
/// </summary>
|
|
/// <param name="sendData">보내는 데이터</param>
|
|
/// <returns>성공 유무</returns>
|
|
public new int Send(byte[] sendData) {
|
|
return base.Send(sendData);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 데이터 수신
|
|
/// </summary>
|
|
/// <param name="receiveData">받는 데이터</param>
|
|
/// <param name="timeOut">타임 아웃(ms)</param>
|
|
/// <returns>성공 유무</returns>
|
|
public new int Recieve(out byte[] receiveData, int? timeOut = null) {
|
|
return base.Recieve(out receiveData, timeOut);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 소켓 통신 연결 끊기
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public new int Close() {
|
|
return base.Close();
|
|
}
|
|
}
|
|
} |