Packet Internet Groper의 약자로 패킷(전송단위)이 지정한 IP주소에대한 통신이 원할히 통신되는지와
상대방의 응답여부, 걸리는시간을 알수있습니다.
- 핑을 하는 경우
1. 상대방의 컴퓨터의 IP에대해 ping을 수행하게하여 TCP/IP가 정상적으로 작동하는지 테스트
2. 라우터가 실행중인지 로컬라우터에 ping수행해서 작동여부 알아냄
- 핑테스트 사진
cmd ping Test
Raknet Ping Test
cmd ping Test
Raknet Ping Test
아리새의펜촉 2009/06/03 09:16 Modify/Delete Reply Address
깔끔하게 정리하셨네요.
랜스 2009/06/03 11:58 Modify/Delete Address
ㅠ_ㅠ 나름 정리해볼려고 썻는데 정말 심플하고 짧네요...
Simple is Best!!
WSABASEERR (0) No Error
WSAEINTR (10004) Interrupted system call
WSAEBADF (10009) Bad file number
WSAEACCES (10013) Permission denied
WSAEFAULT (10014) Bad address
WSAEINVAL (10022) Invalid argument
WSAEMFILE (10024) Too many open files
WSAEWOULDBLOCK (10035) Operation would block
WSAEINPROGRESS (10036) Operation now in progress
WSAEALREADY (10037) Operation already in progress
WSAENOTSOCK (10038) Socket operation on non-socket
WSAEDESTADDRREQ (10039) Destination address required
WSAEMSGSIZE (10040) Message too long
WSAEPROTOTYPE (10041) Protocol wrong type for socket
WSAENOPROTOOPT (10042) Bad protocol option
WSAEPROTONOSUPPORT (10043) Protocol not supported
WSAESOCKTNOSUPPORT (10044) Socket type not supported
WSAEOPNOTSUPP (10045) Operation not supported on socket
WSAEPFNOSUPPORT (10046) Protocol family not supported
WSAEAFNOSUPPORT (10047) Address family not supported by protocol family
WSAEADDRINUSE (10048) Address already in use
WSAEADDRNOTAVAIL (10049) Can't assign requested address
WSAENETDOWN (10050) Network is down
WSAENETUNREACH (10051) Network is unreachable
WSAENETRESET (10052) Net dropped connection or reset
WSAECONNABORTED (10053) Software caused connection abort
WSAECONNRESET (10054) Connection reset by peer
WSAENOBUFS (10055) No buffer space available
WSAEISCONN (10056) Socket is already connected
WSAENOTCONN (10057) Socket is not connected
WSAESHUTDOWN (10058) Can't send after socket shutdown
WSAETOOMANYREFS (10059) Too many references, can't splice
WSAETIMEDOUT (10060) Connection timed out
WSAECONNREFUSED (10061) Connection refused
WSAELOOP (10062) Too many levels of symbolic links
WSAENAMETOOLONG (10063) File name too long
WSAEHOSTDOWN (10064) Host is down
WSAEHOSTUNREACH (10065) No Route to Host
WSAENOTEMPTY (10066) Directory not empty
WSAEPROCLIM (10067) Too many processes
WSAEUSERS (10068) Too many users
WSAEDQUOT (10069) Disc Quota Exceeded
WSAESTALE (10070) Stale NFS file handle
WSASYSNOTREADY (10091) Network SubSystem is unavailable
WSAVERNOTSUPPORTED (10092) WINSOCK DLL Version out of range
WSANOTINITIALISED (10093) Successful WSASTARTUP not yet performed
WSAEREMOTE (10071) Too many levels of remote in path
WSAHOST_NOT_FOUND (11001) Host not found
WSATRY_AGAIN (11002) Non-Authoritative Host not found
WSANO_RECOVERY (11003) Non-Recoverable errors: FORMERR, REFUSED, NOTIMP
WSANO_DATA (11004)* Valid name, no data record of requested type
WSANO_ADDRESS (11004)* No address, look for MX record
출처:http://www.sockets.com
몽상가 2009/05/06 10:06 Modify/Delete Reply Address
사실 오토락 같은 계열이 해결가능한 부분이지만, 이건 제어가 가능한 범위에서만 사용가능한것같습니다. 실제 핸들이 종료된 상태에서 오토락 해제가 시도 될때 오류가 날 수 있기 때문에, 뭐든지 락 계열은 정책이 잘 수립된 상태에서 사용하는게 좋을 것 같습니다.
사실 요번에 만드는 건 로직 쓰레드는 1 쓰레드로 하고, IO 만 N 개 쓰레드로 확장하는 식으로 개인 프로젝트를 준비중입니다.
그리고 어느 정도 돌아간다면, 로직스레드를 병렬로 실행 가능하게 확장 하려고 합니다.
중간중간 일지를 남겨서 포스팅 하겠습니다^^
class 클래스명
{
public:
virtual LONG 쓰레드를실행하는함수 ();
static DWORD WINAPI 쓰레드로돌릴멤버함수 (LPVOID lpArg); // 정적멤버
HANDLE m_hThread;
}
LONG 클래스명:: 쓰레드를실행하는함수 (LPCTSTR lpszDevice)
{
if (m_hThread == 0)
{
DWORD dwThreadId = 0;
m_hThread = _beginthreadex(NULL,0, 쓰레드로돌릴멤버함수,LPVOID(this),0,0);
// 쓰레드를 생성하면서 this를 아규먼트로 넘김
...
}}
날자고도 2009/05/04 17:56 Modify/Delete Reply Address
어떤효과가 있나요?
랜스 2009/05/05 20:51 Modify/Delete Address
제가 쓰레드를 쓸떄 쓰레드 함수에 넘기는 인자로 일일히 필요한 값들을
따로따로 구조체를 만들어서 포인터로 넘겨줬었는데 책보다 보니 이런식으로 함수호출법을 나타내고 나아가 쓰레드클래스를 상속받게 해줄수있을것같습니다.
Leave your greetings here.