rkttu
February 13, 2023, 11:24am
1
(이번 홍보 글은 사전 협의를 통해 공동 홍보를 진행하기로 논의하여 게시 글을 발행하였습니다.)
안녕하세요. 닷넷데브 운영진 남정현입니다.
2월 23일 목요일 오후 2시부터 4시까지 서초동 대각빌딩 12층, 블루포트 세미나룸에서 Blazor 커뮤니티 밋업을 진행한다는 소식을 공유드립니다.
향후 정기적으로 밋업을 진행하면서, Blazor의 기초부터 실무에서 활용할 수 있는 다양한 노하우를 꾸준히 지식 나눔하는 유익한 컨퍼런스로 채워질 예정입니다.
컨퍼런스 등록은 2023년 2월 Blazor 밋업 - 온오프믹스 :: 모임문화 플랫폼 에서 하실 수 있습니다.
많은 관심과 참석, 그리고 공유가 커뮤니티 운영에 큰 도움이 됩니다.
고맙습니다!
7 Likes
Winform에서 Blazor로 가는 좋은 경험 공유하여 주셔서 감사합니다.
어제 제가 여쭤본 Blazor Browser에서 TCP IP와 같은 통신이 되는지에 대한 확인입니다.
@page "/counter"
@using System.Net.Sockets;
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
<button class="btn btn-primary" @onclick="SendTcpMessage">Send</button>
@code {
private int currentCount = 0;
private void IncrementCount()
{
currentCount++;
}
private async void SendTcpMessage()
{
await Task.Run(() =>
{
try
{
// 서버의 IP 주소와 포트 번호를 지정합니다.
string serverIP = "127.0.0.1";
int serverPort = 8880;
// TcpClient 객체를 생성하여 서버에 연결합니다.
TcpClient client = new TcpClient(serverIP, serverPort);
// NetworkStream 객체를 생성하여 데이터를 보내고 받습니다.
NetworkStream stream = client.GetStream();
// 데이터를 보낼 문자열을 작성합니다.
string message = "Hello, server!";
// 문자열을 바이트 배열로 변환하여 NetworkStream을 통해 서버에 전송합니다.
byte[] data = System.Text.Encoding.UTF8.GetBytes(message);
stream.Write(data, 0, data.Length);
Console.WriteLine("Sent: {0}", message);
// 서버에서 보낸 응답을 받습니다.
data = new byte[256];
string responseData = string.Empty;
int bytes = stream.Read(data, 0, data.Length);
responseData = System.Text.Encoding.UTF8.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);
// TcpClient와 NetworkStream 객체를 닫습니다.
stream.Close();
client.Close();
}
catch (Exception ex)
{
Console.WriteLine("Error: {0}", ex);
}
});
}
}
Send Button을 클릭하면 System.PlatformNotSupportedException이 발생됩니다.
.NET에 있는 내용이더라도 Browser에서 막고 있는 기능들은 동작하지 않습니다.
3 Likes
Ivory
February 23, 2023, 11:57pm
3
Blazor wasm의 모노 런타임에서 모든 .NET API가 지원되는 것은 아닙니다. 심지어는 .NET Standard 2.0과도 완전히 호환되지 않습니다. 한 예로 해시 생성 API를 제외한 .NET의 모든 암호화 API는 아직 지원되지 않습니다. 이렇게 지원되지 않는 API를 호출하려고 하면 PlatformNotSupportedException 이 발생합니다.
현재 Blazor wasm에서 TCP 통신을 사용하려면 JavaScript InterOp을 통해 WebSocket을 사용해야 할 것 같아 보이네요.
5 Likes
파란매
February 24, 2023, 1:42am
4
어제 meetup에서도 이점에서 궁금하신 분들이 많았는데요
wasm 은 어디까지나 웹 베이스 기반에 rich한 환경의 솔루션이지
과거 active x급으로 기대하신것 같아요
아마 목적을 달성하실려면 client 에 미들웨어 같은걸 둬서 proxy 개념으로
접근해보는것이 좋을것 같아요
4 Likes
안녕하세요. 김진석입니다.
밋업에서 질문하신 내용을 제가 잘 이해하지 못 했었나 보네요.
다음 밋업에서는 브라우저에서 바코드 인쇄 같은 것을 해보고 싶으니
해보면서 혹시 저런 게 되는 길이 있는 지 찾아보겠습니다.
감사합니다.
3 Likes
조동수
February 27, 2023, 12:53am
6
2 Likes