일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 예제
- dll
- Firebird
- winsock
- 시리얼 통신
- MySQL
- 초보
- 셋업
- VB.NET
- 문자열
- 데이터베이스
- 파이어버드
- Delphi
- WIN32 SDK
- SDK
- 입문
- 소니
- MFC
- c#
- 설치
- PostgreSQL
- vb
- SQL
- 기초
- 파라미터
- Visual Basic
- xml
- 인스톨
- Visual Studio 2005
- 델파이
- Today
- Total
목록분류 전체보기 (350)
프로그래밍 노트
윈속을 써서TCP에 의한 통신을 해보자. ---------------------------------------------------------------------- TCP는 무엇일까? 인터넷으로 통신할 때 90% 이상은 TCP에 의해 통신하고 있다고 해도 과언은 아니다. 인터넷에서 통신을 행하는 프로그램을 짤때 거의다가 TCP에 의한 것일 것 같다. 인터넷은 신뢰성이 없는 통신망이다. 신뢰성이 없는 인터넷은 통신중에 패킷을 잃어버리거나 비트에러, 패킷의 순서가 바뀌는 등 여러가지 에러가 발생할 가능성이 있다. TCP는 그와 같은 통신경로의 장애를 커버해준다. 구체적으로는 패킷 로스가 발생하면 다시 보내주거나 패킷의 순서가 바뀌면 바른 순서로 고쳐준다. TCP에 의한 통신은 서버와 클라이언트의 양자같에..
소켓을 만들때나 통신중에 에러가 발생하는 경우가 있다. 이런 경우 에러에 대한 내용을 알아야될 필요가 있다. 윈속에서 그럴때 쓰는 것이 WSAGetLastError()이다. 이하는 WSAGetLastError()를 이용한 예제이다. 밑의 소스는 socket()이 에러를 돌려보내도록 첫번째 인수에 부정한 값을 넣었다. ====================================================================== #include #include #define AF_ERROR 777 int main() { WSADATA wsaData; SOCKET sock; WSAStartup(MAKEWORD(2, 0), &wsaData); sock = socket(AF_ERROR, SOCK_..
소켓이란 무엇인가? 소켓은 사용자에게 있어서 데이터의 출입구된다. 사용자는 소켓에 대해서 데이터를 쓰거나 읽는 것으로 통신이 이루어진다. 소켓은 두개 이상의 소켓이 서로 관계를 가지는 것으로 처음으로 유효하게 된다. 예를들어 종이컵전화의 종이컵 부분은 양단의 종이컵을 실로 연결한 그때에 이용이 가능한다. 소켓도 종이컵과 같이 통신상대의 소켓이 가상적인 관계를 가진 그때 처음으로 이용이 가능하게 된다. (단, 통신 방식에 따라서 관계를 가진 쪽이 관계를 가진 상대의 수와는 틀리다.) 서로 관계를 가진 소켓에서는 한 쪽에 씌여진 데이터가 벌서 한족의 소켓으로 나아간다. 그 때문에 사용자는 소켓의 뒤쪽에서 움직이는 복잡한 통신 프로토콜을 의식하지 않고 통신을 할수있다. 윈속으로 소켓 만들기 윈속에서는 sock..
이 프로그램은 Win32콘솔 응용 프로그램으로 프로젝트를 만드는 것으로 한다. ----------------------------------------------------------------------- 윈속의 초기화 윈속의 초기화화 종료 처리 WSAStartup, WSACleanup 윈속의 기능을 이용하기 전에는 반드시 윈속의 초기화를 해야된다. 윈속의 초기화는 WSAStartup()으로 한다. WSAStartup()은 처음에 한번만 호출하면된다. 윈속의 기능을 종료할때는 WSACleanup()으로 한다. WSACleanup은 일반적으로 프로그램의 마지막이나 종료처리에서 실행된다. ==================================================================..
윈속 프로그래밍 관련된 내용을 나를 위해 정리 ---------------------------------------------------- WinSock의 명칭은 Windows Sockets에서 옴. Winsock은 이름 그래도 윈도우즈에서 소켓을 이용하요 프로그램을 짜기위한 API(Application Program Interface)이다. Winsock을 쓰면 TCP/IP등의 인터넷을 이용해 통신을 하는 프로그램을 짤수있다. 앞으로 공부할 winsock의 버전은 2.0이다. Winsock이 지원하는 윈도우즈 버젼은 95, 98, NT, Me, 2000, XP등의 전 버젼이다. 참고로 내 개발 환경은 XP Pro에 VS 2005를 쓰고 있다. --------------------------------..
경고 2 warning C4996: 'sprintf'이(가) deprecated로 선언되었습니다. d:\data\tsource\mfclog\mfclog.cpp 108 보안(security)을 강화하면서 예전 함수에는 워닝을 띄우나보다. -.-;; 워닝이 떠도 특별히 문제없이 쓸수는 있다고 한다. deprecate 뜻을 몰라 찾아봤다. deprecate :~을 옳지 않다고 역설하다., 계획 따위에 반대하다. MS는 하기 왼쪽에 있는 함수들을 옳지않다고 생각하고 있나보군 -.-;; MS에는 밑에 같이 쓰면 저 워닝은 표시안다고 했는데 잘안된다. #define _CRT_SECURE_NO_DEPRECATE 1 밑에 같이 써주면 워닝이 표시되어지지않는다. #pragma warning(disable:4996) 워닝..
접두사 변수 또는 객체 i 정수형 첨자(Integer 또는 Long 형식) h 핸들 ord ordinal(a numeric identification code used when the specific value is unimportant except to distinguish the variable from others) x, y 점의 x, y 좌표 dx, dy x와 y좌표에 의한 델타(혹은 거리) (dx 는 너비, dy 는 높이) f Boolean af 비트 플래그(비트에 의해 표현되는 Boolean 배열) r 실수(Single 또는 Double 형) b Byte 형 v Variant 형 cur 통화(Currency 형) time 시간(time) date 날짜(Date) dt 시간과 날짜 혼합(Date..
The Stupidity of NewlinesIn the ASCII table above, there are two bytes that could legitimately be treated as indicating "this line of text is over. start a new one.": 0x0A, '\n', Line Feed. This is the standard C way to indicate a new line is starting. 0x0D, '\r', Carriage Return. This actually moves the cursor back to the start of the line. Sadly, every major computer system nowdays treats newl..
가장 먼저 기본은 윈도우를 만드는 것을 해보는 것이 좋을 것같다. 지금 내가 갖고 있는 개발 툴이 Microsoft Visual Studio 2005이기 때문에 Microsoft Visual Studio 2005로 짜는 방법을 소개하고자 한다. (Microsoft Visual Studio 2005를 설치하는 방법은 생략) VB에서 폼을 만들어 본사람이면 VB에서는 정말 간단하게 10분도 안되어도 폼을 만들어 띄울수있다. 하기야 SDK창 또한 아는 사람이라면 1분안에도 만들수 있겠지만 아무것도 모른다는 것을 전제하에 SDK폼을 만드는 것으로 설명한다. Microsoft Visual Studio 2005을 실행해, 메뉴에서 파일을 선택하여 새프로젝트를 선택한다. 프로젝트 형식에서 다른 언어를 선택하고 Vis..
프로그램을 짜고 싶어도 어디서부터 시작해야되는지 잘 모르는 경우가 있다. 그래도 막연히 프로그램은 짜보고 싶은 사람이 있을 것같다. 하기야 자신에게 맞는 책을 찾아서 그 책대로 따라 해보는 것이 가장 일반적인 방법일 것같다. 책을 보면서 하다가 어느 정도 하다가 잘 이해가 안가면 막혀서 그만두는 경우가 종종 있는 것같다. 나도 대학교때 프로그래밍 공부한다고 몇번 책을 잡았지만 결국 오래가지 못해서 포기했다. 프로그래밍을 공부하다가 포기하는 이유 중에 하나는 설명이 한글인데도 잘 이해가 안가는 경우가 있다. 공부라는 것이 그런 것같다. 첨에는 이해가 안가다가 언젠가 이해가 오는때가 있다. 그것을 기다릴쭐 모르면 절대로 이해가 찾아가지 않는것 같다. 이해가 안가서 프로그래밍 공부를 포기하는 경우도 있겠지만 ..