프로젝트

일반

사용자정보

통계
| 브랜치(Branch): | 개정판:

markus / Test_ / Program.cs @ a0bab669

이력 | 보기 | 이력해설 | 다운로드 (2.56 KB)

1
using Microsoft.AspNet.SignalR.Client;
2
using System;
3
using System.Collections.Generic;
4
using System.Linq;
5
using System.Net;
6

    
7
using System.Text;
8
using System.Threading.Tasks;
9

    
10
namespace Test_
11
{
12
    class Program
13
    {
14
        static void Main(string[] args)
15
        {
16

    
17
            // 허브 연결 구성
18
            var hubConnection = new HubConnection("http://cloud.devdoftech.co.kr:8089/");
19
            IHubProxy MarkusLicenseProxy = hubConnection.CreateHubProxy("MarkusLicenseHub");
20

    
21

    
22
            // 허브 연결 
23
            hubConnection.Start().ContinueWith(task => {
24
                if (task.IsFaulted)
25
                {
26
                    Console.WriteLine("There was an error opening the connection:{0}",
27
                                      task.Exception.GetBaseException());
28
                }
29
                else
30
                {
31
                    Console.WriteLine("Connected :: " + task.Id);
32
                }
33

    
34
            }).Wait();
35

    
36

    
37
            // [ 프로그램 시작 ]
38
            // 클라이언트에서 서버를 호출 ( 접속 시 )  : 라이센스 체크
39
            //( "method name", arg1, arg2 )
40
            MarkusLicenseProxy.Invoke<string>("ConnectionMarkus", "H2009115", "고동균").ContinueWith(task => {
41
                if (task.IsFaulted)
42
                {
43
                    Console.WriteLine("ConnectionMarkus :: There was an error calling send: {0}", task.Exception.GetBaseException());
44
                }
45
                else
46
                {
47
                    Console.WriteLine(task.Result);
48
                }
49
            });
50

    
51
            // 서버에서 클라이언트 호출 ( 프로그램 구동여부 ) : 라이센스 체크 후 응답 ( 반환값 : true, false ) 
52
            MarkusLicenseProxy.On<bool>("IsConnection", status => {
53

    
54
                if (status)
55
                {
56
                    // 프로그램 시작 
57
                    Console.WriteLine("connection status : " + status);
58
                }
59
                else
60
                {
61
                    // 프로그램 종료 ( signalr 접속 끊기 )  
62
                    hubConnection.Stop();
63
                }
64
            });
65

    
66
            // 공지 메세지 ( 서버에서 클라이언트 호출 ) 
67
            //MarkusLicenseProxy.On<string>("MarkusNotification", msg =>
68
                //Console.WriteLine("Noficiation Message : " + msg)
69
            //);
70

    
71

    
72
            // 서버 메서드 호출 
73
            //MarkusLicenseProxy.Invoke<string>("DoSomething", "I'm doing something!!!").Wait();
74

    
75
            //Console.ReadKey();
76

    
77
            hubConnection.Stop();
78

    
79
        }
80
    }
81
}
클립보드 이미지 추가 (최대 크기: 500 MB)