
Microsoft Mobile Internet Toolkit이 언젠가부터
ASP.net에 포함되었다고 한다.
모바일 전용 웹페이지를 만들려고 열심히 검색했건만
알고보니 모바일 전용 페이지를 생성할





#include <stdio.h>
#include <winsock2.h>
#include <conio.h>
#define BUFSIZE 1024
char m[BUFSIZE];
WSADATA wsaData;
char k;
short mysend;
SOCKET sock = INVALID_SOCKET, sListen;
void server();
void client();
void Error(char* m);
void Error(char* m){
fputs(m, stdout);
fputs("\n", stdout);
system("PAUSE");
exit(-1);
}
int main(){
if (WSAStartup(MAKEWORD(2,2), &wsaData)!=0)
Error("Error! WSA START Error.");
while(1){
system("cls");
printf("Server Or Client? (S or C) -");
fflush(stdin);
k = getch();
switch(k){
case 's':
case 'S':
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
server();
mysend = 1;
break;
case 'c':
case 'C':
sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
client();
mysend = -1;
break;
}
if(sock!=INVALID_SOCKET) break;
}
while(1){
memset(m, 0, BUFSIZE);
if(mysend==1){
printf("보낼 메세지:");
fflush(stdin);
fgets(m, BUFSIZE-1, stdin);
if(send(sock, m, strlen(m)-1, 0)==SOCKET_ERROR)
Error("보내는 도중 에러\n");
printf("상대방에게 잘 전달됨\n");
}
else if(mysend==-1){
printf("상대방이 메세지를 보내는중\n");
if(recv(sock, m, BUFSIZE-1, 0)==SOCKET_ERROR)
Error("메세지받는 도중 에러\n");
printf("받은 메세지");
fputs(m, stdout);
fputs("\n", stdout);
}
mysend = -mysend;
}
closesocket(sock);
closesocket(sListen);
WSACleanup();
return 0;
}
void server(){
SOCKADDR_IN clntaddr, addr;
int clntsize = sizeof(clntaddr);
unsigned short port;
printf("\n Server Start\n");
printf("Port: ");
fflush(stdin);
scanf("%d", &port);
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
memset(&addr, 0, sizeof(addr));
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
if (bind(sListen, (SOCKADDR*)&addr, sizeof(addr)) == SOCKET_ERROR)
Error("Bind Error\n");
if (listen(sListen, 5)==SOCKET_ERROR)
Error("LISTEN Error");
printf("서버열기 완료 \n 상대방의 접속을 기다림\n");
sock = accept(sListen, (SOCKADDR*)&clntaddr, &clntsize);
return ;
}
void client(){
SOCKADDR_IN addr;
unsigned short port;
char ip[20];
printf("\nClient Start\n");
printf("IP:");
fflush(stdin);
scanf("%s", ip);
printf("port:");
scanf("%d", &port);
memset(&addr, 0, sizeof(addr));
addr.sin_addr.s_addr = inet_addr(ip);
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
if (connect(sock, (SOCKADDR*)&addr, sizeof(addr)) == SOCKET_ERROR)
Error("Connect Error\n");
return;
}
-------------------------------------------------------
서버와 클라이언트간 1대1 채팅프로그램.
실행하자마자 s를 입력하면 서버, c를 입력하면 클라이언트로 동작합니다.
VS6.0의 경우,
project > settings... > Link > Object/binary modules 에
ws2_32.lib를 추가해야합니다.
업데이트: 2007년 11월
파일의 .pdb 형식이 호환되지 않습니다. .pdb를 삭제한 다음 다시 빌드하십시오.
이전 버전의 Visual C++로 빌드한 .obj 또는 .lib를 사용하는 경우와 해당 파일에 이와 관련된 .pdb 파일이 포함된 경우에 /DEBUG(디버깅 정보 생성)로 링크하면 LNK4208이 발생합니다. 이러한 경우에는 /DEBUG를 사용하지 말거나 이전 .pdb 파일을 삭제한 다음 다시 빌드하십시오.
컴파일러와 링커가 일치하지 않는 경우 이 오류가 발생할 수 있습니다. 예를 들어, 컴파일러는 현재 버전의 Visual C++이고 링커는 이전 버전일 경우입니다.
이런 메소드가 있었다니.. 난 직접 구현하려했다구 ㅠ
그나마 완성하기 전에 알아서 다행.ㅠㅠㅠㅠㅠ
output.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(input.Text, "MD5");
이렇게 쓰면 SHA1도 쓸 수 있습니다.
output.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(input.Text, "SHA1");
① 위 화일들을 지정 디렉토리에 복사한다.
glut.h ->C:\Program Files\Microsoft Visual Studio\VC98\Include\GL
glut32.lib -> C:\Program Files\Microsoft Visual Studio\VC98\Lib
glut32.dll -> C:\WINDOWS\system32 를 복사해서 넣는다.
② VC++ 실행한후
□ MS VC++ 프로젝트 win32 Console Application 을 생성한다.
□ Project setting Link에 opengl32.lib glu32.lib glut32.lib 추가한다.
□ Tool option 메뉴 Directory탭에서 Include files로 아래와 같이 잡혀있는지 확인한다.
C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE\GL
③ console모드로 프로젝트를 만들고 프로젝트에 test1.cpp 추가하여 컴파일한다.
Visual Studio 2008 Version
1.필요한 파일: glut.h, glut32.lib, glut32.dll
2.모든 h 파일은 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include 에 복사한다.
3.모든 lib 파일은 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib 에 복사한다.
4.모든 dll 파일은 C:\Windows\system32 에 복사한다.
출처 :
http://164.125.37.214/course/2009_1/xe/
이도훈교수님의 컴퓨터그래픽스 수업게시판
댓글을 달아 주세요
댓글 RSS 주소 : http://lukavega.untoc.com/tc/rss/comment/36댓글 ATOM 주소 : http://lukavega.untoc.com/tc/atom/comment/36