IT정보공유/C#85 c# 클라이언트 소켓 접속 에러코드 클라이언트 소켓에서 에러가 발생할 경우 윈도우 소켓 에러코드를 참조하여 어떤 원인인지 알아낼 수 있습니다. 클라이언트의 소켓 에러 코드만 따로 정리를 해보았습니다. 에러코드 코드명 설명 10014 WSAEFAULT 잘못된 주소입니다. 시스템에서 호출의 포인터 인수를 사용하려고 할 때 잘못된 포인터 주소를 검색했습니다. 이 오류는 애플리케이션이 잘못된 포인터 값을 전달하거나 버퍼 길이가 너무 작은 경우에 발생합니다. instance 경우 sockaddr 구조체인 인수의 길이가 sizeof(sockaddr)보다 작습니다. 접속하려는 주소 자체가 잘못된 경우 발생할 수 있는 오류입니다. 10048 WSAEADDRINUSE 이미 사용 중인 주소입니다. 일반적으로 각 소켓 주소(프로토콜/IP 주소/포트)의 사용은.. IT정보공유/C# 2023. 12. 3. C# PC 고유키 고유아이디를 만들어 라이센스키 등으로 활용하는 법 컴퓨터마다 고유한 정보를 갖고 있습니다. 우리는 이 정보들을 가지고 컴퓨터와 컴퓨터를 서로 구분할 수 있습니다. 수많은 컴퓨터들마다 고유한 키를 부여하고 싶거나 컴퓨터를 구분짓고 싶을 때 어떤 정보들을 활용해야 할지 알아보도록 합시다. 컴퓨터 식별 방법 3가지 일반적으로 PC의 고유정보를 얻기 위해서 할 수 있는 것들은 아래와 같이 3가지 방법이 있습니다. 항목들을 보시면 아시겠지만 하드웨어의 고유정보를 활용하는 방법이고요. OS를 다시 설치해도, 레지스트리가 변경되어도 변할 수 없는 정보들을 활용하게 됩니다. MAC Address 하드디스크 시리얼번호 BIOS ID Windows UUID C# MAC 어드레스 구하기 LAN 카드마다 고유한 맥어드레스가 있기 때문에 랜카드 정보를 활용하여 컴퓨터를 식별할.. IT정보공유/C# 2023. 6. 13. c# 64bit OCX (ActiveX) 컨트롤 사용방법 오랜만에 프로그래밍 관련 포스팅을 합니다. 64Bit OCX를 이용하려하니 단순히 비주얼 스튜디오 툴에서 COM 구성 요소 추가만 한다고 되는게 아니더군요. 32Bit OCX 였다면 COM 구성 요소 추가만 해주면 손쉽게 됐겠지만 64Bit OCX를 사용하기에는 난이도가 조금 있습니다. (64Bit OCX의 경우 COM 구성요소에 추가한 후 리스트에는 보여도, 실질적인 UI에 등록을 할 수가 없음) 우선, OCX 등록은 Regsvr32 명령을 이용하여 윈도우 레지스트리에 등록후 사용해야 한다는 것은 알고 계실겁니다. OCX, DLL 레지스트리 등록 명령 Regsvr32 "OCX파일명" Regsvr32 [/u] [/s] "OCX File Name" /u ocx파일 등록 삭제 /s 등록 메시지 표시하지 않음.. IT정보공유/C# 2022. 10. 5. c# 날짜와 날짜 사이의 시간차이 구하는 법 C#에서 시간차이를 구하는 방법에 대해서 설명합니다. 예를 들어 이미 지난 시간 2022년 3월 10일 01시 10분 20초와 오늘 현재시간과의 시간차이를 구하려면 어떻게해야할까요? 지난날로부터 현재까지의 차이시간은 몇시간? 지난날로부터 현재까지 총 몇일이 지났고, 총 몇시간이 지났고, 총 몇분이 지났을까요? C# 두 날짜간의 시간차이 구하는 방법 TimeSpan ts = DateTime.Now - DateTime.Parse("2022-03-10 01:10:20"); TimeSpan 구조체는 시간 간격을 나타내는 구조체 입니다. 현재시간에서 과거의 시간을 마이너스 연산해주면 간단하게 계산이 됩니다! 너무 쉬워요! TimeSpan구초제로 5가지 항목의 시간차이를 알아낼 수 있습니다. Days Hours M.. IT정보공유/C# 2022. 3. 18. C# TCP Socket 통신시 빅엔디안과 리틀엔디안 변환방법 TCP Socket 통신을 하다보면 발생할 수 있는 리틀엔디안, 빅엔디안 변환 방법에 관한 내용을 정리해봤습니다. 리틀엔디언? 빅엔디언? 무슨 차이일까? 일단 조금이나마 쉽게 설명해보자면 데이터의 정렬방법이라고 할 수 있는데 4Byte integer 변수인 i의 값을 33이라고 했을 때, HEX로 표기하면 다음 표와 같습니다. 구분 HEX 리틀엔디안(Little-Endian) 0x33 0x00 0x00 0x00 빅엔디안(Big-Endian) 0x00 0x00 0x00 0x33 이렇게 차이가 나게 데이터가 메모리에 정렬이 되는것이죠. (저장방식의 차이라고 생각해도됩니다. 실제 이런 데이터들을 파일로 저장할때도 위와 같은 차이로 저장되니까요.) C#은 기본적으로 리틀엔디안을 사용하고, 인텔 x86 계열은 리.. IT정보공유/C# 2021. 11. 24. c# HTTP 웹서버 파일 및 이미지 파일 다운로드 클래스 WebClient C#으로 HTTP 서버가 구동되는 환경에서 URL을 이용하여 파일과 이미지 파일을 다운로드하는 방법입니다. WebClient Class를 이용하여 아주 간단하게 웹서버에서 파일을 가져올 수 있습니다. WebClient URL 파일 다운로드 WebClient 클래스는 URI로 리소스에 접근하여, 데이터를 전송하거나 수신할 수 있습니다. // C# Web Image URL Download Sample private bool DownloadRemoteImageFile(string uri, string fileName) { WebClient webClient = new WebClient(); webClient.DownloadFile(uri, fileName); return true; } // WebClient를.. IT정보공유/C# 2021. 4. 1. 비주얼스튜디오 설치파일 버전별 다운로드 모음 컴퓨터를 사용하시는 분이라면 누구나 알고 계실 마이크로소프트. 그리고 마이크로소프트에서 개발한 통합 개발 환경 비주얼 스튜디오. 요즘은 비주얼스튜디오 커뮤니티 에디션(Community Edition)은 개인에게 무료로 배포되고 있습니다. 프로그래밍언어 개발에 관심이 있으신분은 무료버전을 다운로드 받아서 공부해보시면 도움이 됩니다. Visual Studio 개발 가능 프로그래밍 언어의 종류 C# Visual C++ Visual Basic.NET ASP.Net Python F# Xamarin Visual Studio Download Version 다운로드는 마이크로소프트 홈페이지를 통해서 다운받으실 수 있으며, 비주얼스튜디오 버전별 검색이 용이하도록 제가 버전별 다운로드 링크를 걸어놓았으니, 필요하신 버전에.. IT정보공유/C# 2021. 3. 25. Visual Studio 설치 및 업데이트시 Microsoft.VisualStudio.Initializer 설치을 설치할 수 없습니다. 잘 사용하고 있던 Visual Studio 에 업데이트 알림이 떴길래 업데이트를 진행했습니다. Visual Studio Installer가 실행되고 업데이트가 진행되다가 오류가 발생하면서 설치 실패가 되었습니다. 몇 번을 재시도 해봤지만 계속 오류가 발생하여 해결 하는 방법을 찾아 내어 공유해 드립니다. Visual Studio Installer 를 통한 업데이트 설치 실패 최초에는 업데이트를 진행하려고 했었으나 아래와 같이 .Net Core 2.0 development tools (out of support) 메세지가 팝업되어 별거 아니라고 생각하여 계속 버튼을 눌러 업데이트를 진행하였습니다. 업데이트 파일이 다운로드가 진행되다 얼마 못가서 오류가 발생했습니다. 이번 오류는 "Microsoft.Visu.. IT정보공유/C# 2021. 3. 25. c# 이미지 해상도에 따라 자동으로 폰트 크기 조절 MeasureString 이미지위에 글자를 출력하려고 하는데, Graphics.DrawString() 함수로 글자를 출력하면 이미지파일 해상도에 따라서 글자크기가 작게 나오거나, 크게나오거나 정확한 글자를 출력하기가 어려웠습니다. 그래서 해상도에 상관없이 항상 일정한 비율로 글자크기가 출력되도록 하는 방법을 알아보도록 하겠습니다. 글자 크기 측정 함수 MeasureString() Graphics 클래스의 정의되어 있는 MeasureString 함수는 문자열의 가로폭, 세로폭을 측정할 수 있습니다. public SizeF MeasureString(string text, Font font); 아래의 화면 처럼 이미지 해상도에 비례하는 폰트 크기로 정중앙에 글자를 출력하는 샘플소스코드 입니다. 참고로 텍스트 출력시 사용하는 함수는 G.. IT정보공유/C# 2021. 2. 17. c# 문자열을 16진수 Hex 값으로 변환, string을 byte로 상호변환하는 방법 프로그래밍을 하다보면 byte와 string을 변환해야할 일이 많습니다. 이때 은근히 함수들이 생각나지 않는 경우가 많습니다. 그럴때를 대비해서 바이트배열이나 문자열을 16진수로, 16진수문자열을 바이트배열로 변한 하는등 다양한 케이스를 통해서 한번 문자열과 바이트, 바이트 배열을 변환 하는 방법을 살펴보도록 하겠습니다. 1byte 길이의 바이트를 16진수 문자열로 변환하는 방법 // public string ByteToString(byte srcByte) { return srcByte.ToString("X2") } // 단순하게 바이트를 16진수문자열로 바꾸는건 ToString()함수에 IFormatProvider를 "X2"로 지정하면 변환이 쉽게 됩니다. srcByte의 16진수 HEX 값이 01 이.. IT정보공유/C# 2021. 1. 20. C# 이미지위에 사각형 반투명하게 그리는 방법 PictureBox 컨트롤 등에 이미지를 표시하기 위해서는 Image 속성에 할당을 하면됩니다. 그리고 그 이미지 위에 무엇인가 추가적으로 이미지처리를 하기 위해서는 Graphics GDI+ 개체를 구해서 드로잉을 해주면 원하는 글자나 선, 사각형, 원형 등의 도형을 그릴 수 있게 됩니다. 이때, 원본이미지 위에 도형이나 선을 투명하게 그려주면 좀더 세련되 보이고 멋있는 연출을 할 수 있습니다. 도형도 보이고, 이미지도 반투명하게 보이게 되니까요. FillRectangle 함수와 DrawRectangle 함수를 이용한 반투명 도형그리기 반투명한 사각형을 그려보도록 하겠습니다. 샘플 소스를 참고하세요. 샘플로 사용한 사진은 걸그룹 블랙핑크입니다. 위 원본 이미지에 FillRectangle, DrawRect.. IT정보공유/C# 2020. 12. 24. 집에서 손쉽게 전부치기 - 김치전 (냉동식품) 오늘은 웬지 김치전이 먹고싶다는 생각이 드네요. 특히나 비오는 날이면 기름에 부쳐 기름기 좔좔 흐르는 전 생각이 간절해 지는 법이지요. 다만 전을 부치려면 많은 시간과 노력이 들어가는 것도 사실입니다. 전에 들어갈 재료 준비, 손질 부터 밀가루나 부침가루 반죽과 더불어 조리까지 많은 정성이 필요하죠. 집에서 간편하게 즐기는 냉동식품 - 바삭하게 부쳐낸 한입 아삭 김치전 수많은 냉동식품을 먹어봤지만, 김치전도 냉동식품으로 나오고 있는지는 몰랐습니다. 처음 아삭김치전을 발견했을 때, 와 이거 진짜 한번 먹어봐야겠네라고 생각했고, 바로 구매를 했죠. 프라이팬에 조리하면 되는거라 혼자서 집에서 해먹기도 편리한 간편조리 제품입니다. 김치전이라고 해서 김치만 들은건 아니고, 오징어도 들어있어서 식감도 쫄깃한 편이에.. IT정보공유/C# 2020. 12. 9. 이전 1 2 3 4 ··· 8 다음 💲 추천 글 반응형