블로그 이미지
그기 아이라 카드만 앱팀장

카테고리

.COM SENSE (139)
TEXT (30)
VIEW (23)
MOVIE (9)
LIFE (9)
SPORTS (5)
ISSUE (8)
SHORT (10)
WORDS (9)
DOCS (8)
KNOWLS (27)
Total
Today
Yesterday

웹서비스 방식의 호출

ex> WebServiceName.WebMethodName(Parameter1)


웹참조 파일에 설정되어 있는 웹서비스 정보(자동으로 생성)

 public WebServiceName() {
            this.Url = "http://111.111.111.111:0000/WebServiceName.asmx";
        }
<= 호출하려는 웹서비스 주소와 포트번호와 웹서비스명 정보

 

웹참조 파일에 설정되어 있는 웹메소드 정보(자동으로 생성)
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://111.111.111.111:0000/WebMethodName", RequestNamespace="http://111.111.111.111:0000/", ResponseNamespace="http://111.111.111.111:0000/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
<= 호출하려는 웹메소드의 웹서비스 정보와 Request/Response를 주고 받을 웹주소와 포트 정보
        public type WebMethodName(type Parameter1) {
            object[] results = this.Invoke("WebMethodName", new object[] {
                        Parameter1});
            return ((type)(results[0]));
        }
<= 호출하려는 웹 메소드의 형식(매개변수의 타입과 갯수, 리턴값의 타입 지정)


소켓통신 방식의 호출

: 바이트 스트림기반의 호출이므로 데이터를 전송하기 위해 주고 받는 데이터의 크기를 정의.
        byte[] Parameter = new byte[1024];
: 전송하는 Parameter의 크기를 코드에서 정의
        byte[] returnValue = new byte[1024];
: 리턴받는 리턴값을 받을의 크기를 코드에서 정의
        IPAddress ipaddr = IPAddress.Parse("111.111.111.111");
: Socket에 설정할 서버주소 코드에서 정의
        IPEndPoint endpoint = new IPEndPoint(ipaddr,:0000);
: Socket에 설정할 포트번호 코드에서 정의
        csocket = new Socket(AddressFamily.InterNetwork ,SocketType.Stream , ProtocolType.Tcp);
: 서버주소의 형식, 전송의 형태, 프로토콜을 정의
        csocket.Connect(endpoint);
: 지정한 서버주소로 연결
        if (csocket.Connected)
: 연결 성공시
        {

   try
   {
    sData = System.Text.Encoding.UTF8.GetBytes(msg);
: 바이트 데이터를 인코딩(서버, 클라이언트 인코딩방식을 같게 설정하여야 함)
    csocket.Send(Parameter);
: 데이터 전송
    int rtnMsgLen = csocket.Receive(returnValue);
: 소켓에 저장된 리턴값을 수신
    rtnMsg = Encoding.Default.GetString(returnValue);
: 바이터 데이터인 리턴값을 디코딩

   }
   catch (Exception e)
   {
    inputStr = e.ToString(); ;
   }
   finally
   {
    csocket.Close();
: 컨넥션 종료
   }
        }
        else
        {
            rtnMsg = "N";
        }

        return rtnMsg;

Posted by 앱팀장
, |

최근에 달린 댓글

글 보관함