소개글
#include#include
#include
#include
typedef enum _teState {
STATE_NONE,
STATE_CONNECT,
STATE_WAITING_ROOM,
STATE_CHATTING_ROOM
}teState;
typedef struct _tsClientInfo {
SOCKET sock;
teState state;
char id[255];
char nickname[255];
char roomName[255];
}tsClientInfo;
#define REQ_LOGIN 0x01 // : 로그인 요청
#define RES_LOGIN 0x51 // : 로그인 응답
#define REQ_CREATE_ACCOUNT 0x02 // : 계정 생성 요청
#define RES_CREATE_ACCOUNT 0x52 // : 계정 생성 응답
#define REQ_CREATE_ROOM 0x03 // : 채팅방 개설 요청
#define RES_CREATE_ROOM 0x53 // : 채팅방 개설 응답
#define REQ_VIEW_ROOM_INFO 0x04 // : 채팅방 조회 요청
#define RES_VIEW_ROOM_INFO 0x54 // : 채팅방 조회 응답
#define REQ_ROOM_ENTER 0x05 // : 채팅방 입장 요청
#define RES_ROOM_ENTER 0x55 // : 채팅방 입장 응답
#define REQ_MEMBER_LIST_VIEW 0x06 // : 사용자 조회 요청
#define RES_MEMBER_LIST_VIEW 0x56 // : 사용자 조회 응답
#define REQ_MESSAGE_UNICAST 0x07 // : 귓속말 요청 ( 클라 -> 서버 )
#define RES_MESSAGE_UNICAST 0x57 // : 귓속말 응답
#define REQ_MESSAGE_MULTICAST 0x09 // : 일반 메시지 요청 ( 클라 -> 서버 )
#define RES_MESSAGE_MULTICAST 0x59 // : 일반 메시지 응답
#define REQ_FILE_MULTICAST 0x0B // : 파일 전송 요청 ( 클라 -> 서버 )
#define RES_FILE_MULTICAST 0x5B // : 파일 전송
#define REQ_FILE_UNICAST 0x0D // : 파일 전송 요청 ( 클라 -> 서버 )
#define RES_FILE_UNICAST 0x5D // : 파일 전송 응답
#define REQ_KICK_MEMBER 0x0F // : 강퇴 요청
#define RES_KICK_MEMBER 0x0F // : 강퇴 응답
// 소켓 함수 오류 출력 후 종료
void err_quit(char *msg)
{
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER|
FORMAT_MESSAGE_FROM_SYSTEM,
NULL, WSAGetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpMsgBuf, 0, NULL);
MessageBox(NULL, (LPCTSTR)lpMsgBuf, msg, MB_IC_badtags);
LocalFree(lpMsgBuf);
exit(-1);
}
// 소켓 함수 오류 출력
void err_display(char *msg)
{
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER|
FORMAT_MESSAGE_FROM_SYSTEM,
NULL, WSAGetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpMsgBuf, 0, NULL);
printf("[%s] %s", msg, (LPCTSTR)lpMsgBuf);
LocalFree(lpMsgBuf);
}
컴파일 실행환경
Visual studio 2005 이상압축파일 내 파일목록
발표자료.pptx
채팅/dclient/dclient/dclient.cpp
채팅/dclient/dclient/dclient.vcproj
채팅/dclient/dclient/dclient.vcproj.DDD.DDS.user
채팅/dclient/dclient/Debug/BuildLog.htm
채팅/dclient/dclient/Debug/dclient.exe.intermediate.manifest
채팅/dclient/dclient/Debug/dclient.obj
채팅/dclient/dclient/Debug/mt.dep
채팅/dclient/dclient/Debug/vc80.idb
채팅/dclient/dclient.ncb
채팅/dclient/dclient.sln
채팅/dclient/dclient.suo
채팅/dclient/debug/5555.txt
채팅/dclient/debug/a.txt
채팅/dclient/debug/dclient.exe
채팅/dclient/debug/ㄷㄷㄷㄷ님께 받은 파일.txt
채팅/dclient/debug/아니님께 받은 파일.txt
채팅/dclient/debug/알았어님께 받은 파일.txt
채팅/dclient/실행파일/dserver.exe
채팅/dserver/debug/dserver.exe
채팅/dserver/debug/dserver.ilk
채팅/dserver/debug/dserver.pdb
채팅/dserver/dserver/Debug/BuildLog.htm
채팅/dserver/dserver/Debug/dserver.exe.embed.manifest
채팅/dserver/dserver/Debug/dserver.exe.embed.manifest.res
채팅/dserver/dserver/Debug/dserver.exe.intermediate.manifest
채팅/dserver/dserver/Debug/mt.dep
채팅/dserver/dserver/Debug/sserver.obj
채팅/dserver/dserver/Debug/vc80.idb
채팅/dserver/dserver/Debug/vc80.pdb
채팅/dserver/dserver/dserver.vcproj
채팅/dserver/dserver/dserver.vcproj.DDD.DDS.user
채팅/dserver/dserver/sserver.cpp
채팅/dserver/dserver.ncb
채팅/dserver/dserver.sln
채팅/dserver/dserver.suo
채팅/dclient/dclient/dclient.cpp
채팅/dclient/dclient/dclient.vcproj
채팅/dclient/dclient/dclient.vcproj.DDD.DDS.user
채팅/dclient/dclient/Debug/BuildLog.htm
채팅/dclient/dclient/Debug/dclient.exe.intermediate.manifest
채팅/dclient/dclient/Debug/dclient.obj
채팅/dclient/dclient/Debug/mt.dep
채팅/dclient/dclient/Debug/vc80.idb
채팅/dclient/dclient.ncb
채팅/dclient/dclient.sln
채팅/dclient/dclient.suo
채팅/dclient/debug/5555.txt
채팅/dclient/debug/a.txt
채팅/dclient/debug/dclient.exe
채팅/dclient/debug/ㄷㄷㄷㄷ님께 받은 파일.txt
채팅/dclient/debug/아니님께 받은 파일.txt
채팅/dclient/debug/알았어님께 받은 파일.txt
채팅/dclient/실행파일/dserver.exe
채팅/dserver/debug/dserver.exe
채팅/dserver/debug/dserver.ilk
채팅/dserver/debug/dserver.pdb
채팅/dserver/dserver/Debug/BuildLog.htm
채팅/dserver/dserver/Debug/dserver.exe.embed.manifest
채팅/dserver/dserver/Debug/dserver.exe.embed.manifest.res
채팅/dserver/dserver/Debug/dserver.exe.intermediate.manifest
채팅/dserver/dserver/Debug/mt.dep
채팅/dserver/dserver/Debug/sserver.obj
채팅/dserver/dserver/Debug/vc80.idb
채팅/dserver/dserver/Debug/vc80.pdb
채팅/dserver/dserver/dserver.vcproj
채팅/dserver/dserver/dserver.vcproj.DDD.DDS.user
채팅/dserver/dserver/sserver.cpp
채팅/dserver/dserver.ncb
채팅/dserver/dserver.sln
채팅/dserver/dserver.suo
참고 자료
없음프로그램소스 연관자료
이 자료와 함께 구매한 자료
- [네트워크] 리눅스 p2p 프로그램 3페이지