반응형

C# 60

중앙 관제 - Windows Forms 앱

중앙 관제는 Windows Forms 앱(.NET Framework)입니다. CentralForm.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WaferLineCommLib; using WaferLineLib; namespace 중앙_관제 { public partial class CentralForm : Form { publ..

WaferLine 공장 시뮬레이션 - Windows Forms

WaferLine 공장 시뮬레이션은 Windows Forms 앱(.NET Framework)입니다. 1. Manager.cs using System.Net; using WaferLineCommLib; using WaferLineLib; namespace WaferLine_공장_시뮬레이션 { public class Manager { public event RecvStsEndPtEventHandler RecvStsEndPoint; public event AddWaferEventHandler AddedWafer; public event AddPREventHandler AddedPR; public event SetSpeedEventHandler SettedSpeed; public event SetDropEven..

WaferLineCommLib - 클래스 라이브러리

WaferLineCommLib는 클래스 라이브러리(.NET Framework)입니다. 1. MsgType.cs namespace WaferLineCommLib { public enum MsgType { MSG_CF_ADDSI, MSG_CF_ADDWF, MSG_CF_ADDPR, MSG_CF_SETSP, MSG_CF_SETDR, MSG_FC_ADDLN, MSG_FC_ADDWF, MSG_FC_ADDPR, MSG_FC_SETSP, MSG_FC_SETDR, MSG_FC_ENDPR, MSG_FC_ENDCO } } 2. MyNetwork.cs using System.Collections.Generic; using System.Net; using System.Net.Sockets; namespace WaferLineC..

WaferLineControlLib - Windows Forms 컨트롤 라이브러리

WaferLineControlLib는 Windows Forms 컨트롤 라이브러리(.NET Framework)입니다. 1. DPanel.cs using System.Windows.Forms; namespace WaferLineControlLib { public class DPanel : Panel { public DPanel() { SetStyle(System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer | System.Windows.Forms.ControlStyles.UserPaint | System.Windows.Forms.ControlStyles.AllPaintingInWmPaint, true); UpdateStyles(); } } } 2. WaferPan..

WaferLineLib 라이브러리

WaferLineLib는 클래스 라이브러리(.Net Framework)입니다. 1. Wafer.cs namespace WaferLineLib { /// /// Wafer 클래스 /// public class Wafer { static int last_wn; readonly int wn; int[] cells = new int[100]; int now; /// /// 기본 생성자 /// public Wafer() { last_wn++; wn = last_wn; } /// /// 현재 코팅할 쉘 번호 - 가져오기 /// public int Now { get { return now; } } /// /// 코팅할 쉘 번호 증가시키기 /// /// 증가 성공 여부 public bool Increment() { i..

런타임에 라이브러리 로드하기 - .NET 리플렉션 [C#]

테스트에 사용할 라이브러리 소스 코드(클래스 라이브러리로 제작) using System; namespace DemoLib { public class Demo { int num; public int Num { get { return num; } } public int Add(int a,int b) { Console.WriteLine("Add 메서드 호출 됨:{0},{1}", a, b); return a + b; } public Demo(int n) { Console.WriteLine("Demo 생성자 호출됨:{0}", n); num = n; } public static void Foo(string msg) { Console.WriteLine("Foo 메서드 호출됨:{0}", msg); } } } 명시적으로..

TCP 통신 – Echo 서버 클래스 구현, 이벤트 정의 및 콜백 처리 [C#]

Echo 서버 클래스 구현 동영상 강의 AcceptedEventArgs.cs using System; using System.Net; namespace 에코_서버_응용___클래스로_정의 { public delegate void AcceptedEventHandler(object sender, AcceptedEventArgs e); public class AcceptedEventArgs:EventArgs { public IPEndPoint RemoteEP { get; private set; } public string IPStr { get { return RemoteEP.Address.ToString(); } } public int Port { get { return RemoteEP.Port; } } pub..

TCP 통신 – echo 서버 및 클라이언트 구현 [C#]

서버 측 코드 using System; using System.IO; using System.Net; using System.Net.Sockets; namespace 에코_서버_응용 { class Program { static void Main(string[] args) { Socket sock=null; try { sock = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );//소켓 생성 //인터페이스와 결합 IPAddress addr = IPAddress.Parse("[서버 IP 주소]"); IPEndPoint iep = new IPEndPoint(addr, 10040); sock.Bind(iep); //백로그..

화면 캡쳐 및 이미지 송신 클라이언트 및 수신 서버 구현하기

원격제어 프로그램 만들기에서 구현한 이미지 송수신 부분을 라이브러리로 만들고 이를 이용하여 클라이언트와 서버 응용을 만드는 실습입니다. ImageClient.cs //http://ehpub.co.kr //원격 제어 프로그램 //7. 이미지 전송 클라이언트 using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Net; using System.Net.Sockets; namespace 원격제어_프로그램 { /// /// 이미지 전송 클라이언트 /// public class ImageClient { Socket sock; /// /// 연결 메서드 /// /// 연결할 서버 측 IP주소 /// ..

원격 제어 프로그램 만들기 9. 화면 수신 서버

원격 제어 컨트롤러에서는 호스트 화면을 주기적으로 수신하여 이를 폼에 뿌려주어야 합니다. 이를 위해 화면을 수신하는 서버 클래스의 소스 코드입니다. 소스 코드 ImageServer.cs //ImageServer.cs using System.Net.Sockets; using System.Threading; using System.Net; using System.Drawing; using System.IO; using System; namespace 원격제어기 { /// /// 이미지 수신 서버 /// public class ImageServer { Socket lis_sock; //Listening 소켓 Thread accept_thread = null; /// /// 이미지 수신 이벤트 /// publi..

반응형