NEXCODE.Caffeine.Client
2.0.9
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package NEXCODE.Caffeine.Client --version 2.0.9
NuGet\Install-Package NEXCODE.Caffeine.Client -Version 2.0.9
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NEXCODE.Caffeine.Client" Version="2.0.9" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NEXCODE.Caffeine.Client" Version="2.0.9" />
<PackageReference Include="NEXCODE.Caffeine.Client" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NEXCODE.Caffeine.Client --version 2.0.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NEXCODE.Caffeine.Client, 2.0.9"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NEXCODE.Caffeine.Client@2.0.9
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NEXCODE.Caffeine.Client&version=2.0.9
#tool nuget:?package=NEXCODE.Caffeine.Client&version=2.0.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Caffeine.Client SDK
AI-Native IIoT Edge Platform - Official .NET Client SDK
Features
- gRPC: High-performance binary protocol with bidirectional streaming
- SignalR: Real-time push notifications for alarms and monitoring
- GraphQL: Flexible query language with type safety (v2.1+)
- REST API: Traditional HTTP endpoints with OpenAPI documentation
Installation
dotnet add package Caffeine.Client
Quick Start
gRPC Client
using Caffeine.Client;
using Grpc.Net.Client;
// 연결 설정
var channel = GrpcChannel.ForAddress("https://localhost:5001");
var client = new CaffeineClient(channel);
// 활성 알람 조회
var alarms = await client.GetActiveAlarmsAsync();
foreach (var alarm in alarms)
{
Console.WriteLine($"[{alarm.Severity}] {alarm.Message}");
}
SignalR Real-time Monitoring
using Microsoft.AspNetCore.SignalR.Client;
// SignalR Hub 연결
var connection = new HubConnectionBuilder()
.WithUrl("https://localhost:5006/hubs/alarms")
.Build();
// 실시간 알람 수신
connection.On<AlarmEvent>("AlarmTriggered", alarm =>
{
Console.WriteLine($"🚨 New Alarm: {alarm.Message}");
});
await connection.StartAsync();
GraphQL Query (v2.1+)
query GetActiveAlarms {
activeAlarms {
alarmId
severity
message
occurredAt
}
}
C# Example:
using System.Net.Http;
using System.Net.Http.Json;
var httpClient = new HttpClient { BaseAddress = new Uri("https://localhost:5006") };
var query = new
{
query = "{ activeAlarms { alarmId severity message occurredAt } }"
};
var response = await httpClient.PostAsJsonAsync("/graphql", query);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
GraphQL Mutation (v2.1+)
mutation WriteTag {
writeTag(tagName: "Sensor01.Temperature", value: 25.5) {
success
tagName
value
errorMessage
}
}
GraphQL Subscription (v2.1+)
subscription OnTagValueChanged {
onTagValueChanged(tagName: "Sensor01.Temperature") {
tagName
value
timestamp
quality
}
}
WebSocket 연결 (C#):
// GraphQL Subscription은 WebSocket 프로토콜 사용
// StrawberryShake 또는 graphql-ws 라이브러리 권장
API Versioning
Caffeine Engine은 API Versioning을 지원합니다:
/api/v1/config/tags - Tag 설정 조회
/api/v1/drivers - Driver 목록 조회
/api/v1/alarms - 알람 조회
/api/v1/predictive-maintenance - 예측 정비
GraphQL Schema
Query
activeAlarms: 활성 알람 목록healthCheck: 서버 상태 확인getTagValue(driverId, address): 특정 태그 값 조회getAlarmHistory(limit, severity): 알람 이력 조회getAlarmRecommendations(alarmCode, triggerTagId): 조치 가이드 추천
Mutation
writeTag(tagName, value): 태그 값 쓰기acknowledgeAlarm(alarmId, acknowledgedBy): 알람 확인 처리
Subscription
onTagValueChanged(tagName): 태그 값 변경 이벤트onAlarmTriggered: 알람 발생 이벤트
GraphQL IDE
개발 환경에서는 Nitro GraphQL IDE를 사용할 수 있습니다:
https://localhost:5006/graphql/ui
Compatibility
- .NET: 10.0+
- C#: 13.0+
- Engine: Caffeine.Engine 2.0+
License
Commercial License - NEXCODE © 2025-2026
Links
Changelog
v2.1.0 (2026-02-05)
- ✨ GraphQL Mutation 지원 (WriteTag, AcknowledgeAlarm)
- ✨ GraphQL Subscription 지원 (실시간 이벤트)
- ✨ Nitro GraphQL IDE 통합 (개발 환경)
- 📝 API Versioning 표준화 (v1.0)
- 📝 XML 문서 주석 활성화 (Swagger 통합)
v2.0.1 (2025-12-15)
- 🐛 gRPC 연결 안정성 개선
- 📝 SignalR 재연결 로직 추가
v2.0.0 (2025-11-01)
- 🎉 최초 공개 릴리스
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Google.Protobuf (>= 3.34.0)
- Grpc.Net.Client (>= 2.76.0)
- Microsoft.AspNetCore.SignalR.Client (>= 10.0.3)
- Microsoft.Extensions.DependencyInjection (>= 10.0.3)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.