컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 패킷 손실률을 확인하는 C#ping 정보

패킷 손실률을 확인하는 C#ping 정보

using?System;?

using?System.Collections;?

using?System.Data;?

using?System .Net;?

using?System.Net.Sockets;?

네임스페이스?PPing?

{?

/// ?

?

///?Summary?description?for?Class.?

///?

?

// /?Ping 클래스?

class?Ping?

{? //상수 선언? const?int?SOCKET_ERROR?=?-1;? const?int?ICMP_ECHO?=? 8;? ///?

? ///?main?entry?point?for?the?? //?프로그램 항목? ?void?Main(string[]?args)? {? //? //?TODO:?코드를?시작?여기에? //? ? Console.WriteLine("ping할 IP 또는 호스트 이름을 입력하십시오:"); string?MyUrl?=?Console.ReadLine();? Console.WriteLine("Pinging?" +?"?..... .");? Console.Write(p.PingHost(MyUrl));? Console.WriteLine();? Console.ReadLine();? }? public?string?PingHost(string?host)? {? //? 명령문?IPHostEntry?serverHE,?fromHE;?int?dwStart?=?0,?dwStop?=?0;? //ICMP 소켓 초기화? Socket(AddressFamily.InterNetwork,?SocketType.Raw,?ProtocolType.Icmp);?socketOptionLevel.Socket,?SocketOptionName.SendTimeout,?1000);?서버 가져오기?EndPoint?

serverHE?=?Dns.GetHostByName(host);? }? catch(Exception)? {?

return?"호스트를 찾을 수 없습니다";? ?IP_EndPoint에서 EndPoint로? IPEndPoint?ipepServer?=?new?IPEndPoint(serverHE.AddressList[0],?0);? EndPoint?epServer?=?(ipepServer); //?클라이언트의 수신 엔드포인트 설정?

fromHE?=?Dns.GetHostByName(Dns.GetHostName());? IPEndPoint?ipEndPointFrom?=?new?IPEndPoint(fromHE.AddressList[0],?0);? EndPoint?EndPointFrom?=?(ipEndPointFrom);? ?PacketSize?=?0;? IcmpPacket?packet?=?new?IcmpPacket();? //?전송할 패킷을 작성합니까? packet.Type?=?ICMP_ECHO;?//8? 0 ;? packet.CheckSum?=?UInt16.Parse("0");? packet.Identifier=?UInt16.Parse("45");? packet.SequenceNumber?=?UInt16.Parse("0");? int ?PingData?=?32;?//?sizeof(IcmpPacket)?-?8;? packet.Data?=?new?Byte[PingData];? //?Packet.Data 초기화?string?Tempstr=@" ?checksum?of?struct? public?UInt16?Identifier;?//?identifier? public?UInt16?SequenceNumber;?//?sequence?number? public?Byte?[]?Data;?

> }?//?class?IcmpPacket?

}

上篇: 호스트 올든 링은 온라인 상태가 아닙니다. 下篇: 허베이건설투자 서양화력발전소
관련 내용