클라이언트에서 원격 객체를 호출하기 위해서 필요한 모든 정보를 묶어서 클라이언트에게 전송한다. 이러한 정보를 묶는 작업을 마샬링(Marshaling)이라고 부른다. ■ 마샬링(Marshaling)의 종류와 구현 ▷ 참조 마샬링(Mashal By Reference) - MarshalByRefObject를 상속 ▶ 참조 마샬링(MBR)을 위한 클래스 - public class MarshalSample : MarshalByRefObject {} ▷ 값 마샬링(Mashal By Value) - Serializable Attribute를 지정하거나 ISerializable 인터페이스를 구현 ▶ 값 마샬링(MBV)을 위한 클래스 - public class SerialSample {}
기존 리모팅 예제코드를 보셨다면 추가적으로 다음 예제를 해보면 도움이 될 것이다. http://net2.tistory.com/entry/XFile-4 1. 리모팅을 이용하여 계산을 처리하는 Calc.dll을 윈도우즈 Service에 등록시키고, 서비스를 시작시킨 상태에서 윈 폼으로 리모팅을 호출하여 계산값을 얻어낸다. (계산을 간단히 코드상에서 처리할 수 있지만 예제로 리모팅을 사용하는 방법을 배워보도록 하자.) 2. 리모팅을 이용하여 Database에 ADO.NET으로 연결해 쿼리 데이터를 DataSet으로 반환하는 *.dll 을 작성한다. 이 dll을 윈도우즈 서비스에 등록시키고 시작시킨 상태에서 윈폼에 DataGridView 컨트롤에 리모팅으로 받아온 DataSet을 뿌려주는 예제이다. 예제코드의 ..
.NET Remoting이란? RPC(Remote Procedure Call) 클라이언트가 원격지에 존재하는 함수를 호출한 후, 그 결과를 원격지로부터 받아내는 기술 리모팅(Remotion) 리모팅은 서비스 개념을 포함한다 원격 서버가 클라이언트에게 서비스(Service)를 제공한다. 닷넷 리모팅에서 소개되는 기술 원격 객체(Remote Object) 원격 객체를 대신하는 클라이언트 프록시 객체(Proxy Object) 마샬링(Marshaling), 언마샬링(Unmarshaling) 직렬화(Serialization), 역직렬화(Deserialization) 네트워크 통신을 위한 체널(Channel) 네트워크로 전송되는 데이터를 인코딩하는 포멧터(Formatter) .NET Remoting의 구성요소 서버..
아래의 소스코드를 작성한 후, 빌드시켜 에러가 없게 합니다. 종전에 작성한 Server 측 소스코드와 거의 유사하지만 가상으로 서비스를 실행하기 위해, 버튼으로 작동되는 부분이 제거되었습니다. 1) 모두 작성한 후, Visual Studio 명령 프롬프트를 실행합니다. 2) 빌드가 끝난 Chatting Server의 실행파일을 아래의 명령어를 입력해서 서비스에 등록합니다. 참고로, 여기서는 ----- Web ChattingService (Service1.CS) ----- using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using Syst..
사용자측 화면예시. -----사용자측 소스 (Client.CS) ----- using System; using System.IO; using System.Net; using System.Threading; using System.Net.Sockets; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Client { public partial class Client : Form { // 기본 아이피를 설정할 변수 설정 pri..
기본 동작원리는 다음과 같습니다. 먼저 클라이언트가 접속하기 위해서는 서버가 동작하고 있어야 합니다. 채팅서버를 사용하는 화면예시.. 1) 서버측 연결화면. 아래의 파일은 .NET2005(Framework 2.0), Windows2003 Server, C#으로 구현되었습니다. 압축을 풀고 솔루션을 열면 서버(Server), 클라이언트(Client), ChattingService(웹기반)솔루션이 차례로 열릴 것입니다. ----- Server (Server.CS) => ----- using System; using System.IO; using System.Net; using System.Data; using System.Text; using System.Drawing; using System.Net.Soc..