반응형

프로젝트 25

중앙 관제 - 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..

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

원격제어 프로그램 만들기에서 구현한 이미지 송수신 부분을 라이브러리로 만들고 이를 이용하여 클라이언트와 서버 응용을 만드는 실습입니다. 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..

원격 제어 프로그램 만들기 8. 화면 수신 이벤트 인자 클래스 구현

이미지 수신 서버에서 이미지를 수신할 때마다 폼에 이를 알려주어야 합니다. 이를 위해 이벤트 처리하기 위한 대리자와 이벤트 인자 클래스를 정의합니다. 소스 코드 RecvImageEventArgs.cs //RecvImageEventArgs.cs using System; using System.Net; using System.Drawing; namespace 원격제어기 { /// /// 이미지 수신 이벤트 인자 클래스 /// public class RecvImageEventArgs : EventArgs { /// /// IP 단말 - 가져오기 /// public IPEndPoint IPEndPoint { get; private set; } /// /// IP 주소 - 가져오기 /// public IPAddr..

원격 제어 프로그램 만들기 7. 원격 제어 – 화면 전송

원격 제어를 허용한 호스트의 전체 화면을 제어하는 컨트롤러에게 주기적인 화면을 전송해 주어야 합니다. 다음은 화면을 주기적으로 전송하는 클라이언트 소스 코드입니다. 소스 코드 ImageClient.cs //ImageClient.cs using System; using System.Net.Sockets; using System.Net; using System.IO; using System.Drawing.Imaging; using System.Windows.Forms; using System.Drawing; namespace 원격제어기 { /// /// 이미지 전송 클라이언트 /// public class ImageClient { Socket sock; /// /// 생성자 /// /// 컨트롤러의 IP 주..

원격 제어 프로그램 만들기 - 6. 원격 제어 요청 수신 서버 구현 및 요청 수신 1차 테스트

원격 제어 요청을 수신하는 서버 클래스를 구현합니다. 현재까지 작성한 원격 제어 요청 클라이언트와 서버 및 이벤트 인자 형식을 이용하여 테스트를 수행합니다. 테스트는 원격 제어 요청을 정상적으로 전달하고 상대측에서 요청 클라이언트의 IP와 PORT 정보를 정상적으로 수신하고 폼에 전달하는지 확인합니다. 소스 코드 SetupServer.cs //SetupServer.cs using System.Net.Sockets; using System.Threading; using System.Net; namespace 원격제어기 { /// /// 연결 요청 수신 서버 클래스 - 정적 클래스 /// public static class SetupServer { static Socket lis_sock; //연결 요청 수..

반응형