| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- c# 업비트
- 업비트
- c# websocket
- c# maui
- C#
- c# 라이브 차트
- 나만의 사이트모음집
- 업비트 차트
- WPF
- Prism
- c# api호출
- upbit
- Chart
- c# 업비트 api키 목록
- c# 차트
- Upbit API
- 즐겨찾기
- 차트
- c# restapi
- 업비트 API
- 북마크
- c# restapi 호출
- 업비트 c#
- XAML
- maui
- 라이브 차트
Archives
- Today
- Total
하아찡
C# Network 프로젝트 본문

Network프로젝트에는 현재 컴퓨터가 네트워크에 연결이 되어있는지를 체크해줌으로써 네트워크가 필요한 작업전에 확인해주는 역할.
Network.cs(전체코드)
using FileIO;
using System.Diagnostics;
using System.Net;
using System.Net.NetworkInformation;
namespace Network
{
public static class Network
{
public static bool Connected { get; private set; }
/// <summary>
/// 현재 인터넷 연결상태 확인
/// </summary>
public delegate void EventHandler(bool connect);
public static event EventHandler Connect;
static Network()
{
Connected = IsInternetConnected();
NetworkChange.NetworkAvailabilityChanged += (s, ne) =>
{
if (ne.IsAvailable)
{
Connected = true;
Connect(true);
}
else
{
Connected = false;
Connect(false);
}
};
}
public static bool IsInternetConnected()
{
const string NCSI_TEST_URL = "http://www.msftncsi.com/ncsi.txt";
const string NCSI_TEST_RESULT = "Microsoft NCSI";
const string NCSI_DNS = "dns.msftncsi.com";
const string NCSI_DNS_IP_ADDRESS = "131.107.255.255";
try
{
// Check NCSI test link
var webClient = new WebClient();
string result = webClient.DownloadString(NCSI_TEST_URL);
if (result != NCSI_TEST_RESULT)
{
return false;
}
// Check NCSI DNS IP
var dnsHost = Dns.GetHostEntry(NCSI_DNS);
if (dnsHost.AddressList.Count() < 0 || dnsHost.AddressList[0].ToString() != NCSI_DNS_IP_ADDRESS)
{
return false;
}
}
catch (Exception ex)
{
Debug.WriteLine(ex);
return false;
}
return true;
}
}
}
Connected값으로 네트워크가 연결됐는지 확인해서 처리함.
Connected -> True일땐 네트워크 연결정상
Connected -> False일땐 네트워크 연결끊김
INetwork.cs(전체코드)
namespace Network
{
/// <summary>
/// 네트워크 연결이 되거나 해제됐을때 작동시킬라고 추가해줌.
/// </summary>
public interface INetwork
{
void D_ConnectEvent(bool connect);
}
}반응형
'C# > 코인프로그램 - 코드' 카테고리의 다른 글
| [C#/WPF] Upbit프로젝트 DialogAccess (0) | 2023.11.27 |
|---|---|
| [C#/WPF] Upbit프로젝트 Access (1) | 2023.11.27 |
| C# FileIO 프로젝트 (2) | 2023.11.27 |
| [C#/WPF] Language 프로젝트 (0) | 2023.11.26 |
| [C#/WPF] Prism으로 작업. 현재까지 진행된 상황정리. (0) | 2023.11.26 |