2026-01-26 14:51:28 +09:00

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();
}
}
}