2012-02-06 4 views
0

갑자기이 문제를 생각하고 IP 주소를 저장하는 데 사용해야하는 데이터 유형을 결정하는 데 어려움이 있습니까?IP 주소를 저장하는 데 사용해야하는 데이터 유형은 무엇입니까?

내가 NSString의 생각

; 그러나 ID의 마지막 자리가 필요하면 float 또는 double을 사용해야합니까? 그리고 또 다른 문제는 언제 떠 다니거나 두 배로 소수점을 둘 수 있습니까? 난 정말이 요청하는 방법을 모르기 때문에

나는 아마 잘못 질문을하고있다.

IP 주소는 XML 형식 <IP>192.168.1.1</IP>에서 온다. 어떻게해야합니까?

답변

1

사용 NSString을. 당신은 그것으로 산술을하지 않을 것입니다. 별도의 구성 요소가 필요한 경우 NSArray을 사용할 수 있지만 NSString은 IP 주소를 저장하는 데 도움이됩니다.

사용자의 요구에 대응하여, 당신은 항상 NSString 방법을 사용하여 문자열의 마지막 문자를 얻을 수 있습니다 ip_string가 IP 주소를 보유하는 문자열입니다

NSString *lastCharacter = [ip_string substringFromIndex: [ip_string length] - 1]; 

합니다. 답변

편집 언급한다 :

로건 코드 배열에 마침표로 분리 된 IP 주소의 각 요소를 저장한다. 따라서 IP 주소가 192.168.1.1이면 배열은 (192, 168, 1, 1)이됩니다.

내 코드는 문자열의 전체 IP 주소를 저장 한 다음 해당 문자열의 마지막 문자를 얻을 수있다. [ip_string substringFromIndex: [ip_string length] - 1]은 IP 주소가 포함 된 문자열의 마지막 문자를 가져 오는 중입니다. 마지막 문자는 마이너스 한 문자에서 찾을 수 있습니다.

IP 주소가 192.168.1.1 인 경우 lastCharacter 문자열의 숫자는 1입니다. 당신이 당신의 IP 주소 문자열의 마지막 문자로 뭔가를 할 필요가 있다고 언급하고, 내 코드는 마지막 문자를 얻을 수있는 방법을 보여주기 때문에

는 그 코드를 제안했다.

+0

코드 줄과 @Logan Serman의 차이점은 무엇입니까? Logan Serman의 코드가 의미하는 바를 이해할 수 있지만 이전에는 본 적이 없던 것입니다. –

+0

수정 된 응답보기 요약하면, IP 주소 문자열에서 마지막 문자를 얻는 것입니다. – DGund

+1

아! 그것은 몇 가지 멋진 방법입니다! 고마워요! 이걸 시험 해봐! 이 메서드는 NSString 값을 반환합니까? 정수 값이 필요하면'[lastCharacter integerValue]'메서드를 올바르게 적용해야합니까? –

1

문자열을 사용하십시오. IP에서 산술 연산을 수행 할 필요가 없습니까?

+0

현재로서는 산술이나 알고리즘을 수행해야하는지는 알 수 없습니다. 아마도 그렇지 않습니다. :) 답장을 보내 주셔서 감사합니다! –

1

IP 주소를 문자열 또는 정수 배열로 저장하는 것이 일반적입니다. 또 다른 옵션은 32 비트 정수로 저장하는 것입니다. 그것은 정말로 당신이하고 싶은 일에 달려 있습니다.

+0

정수 배열은 좋은 생각처럼 들립니다. 하지만 1 열에 4 자리를 저장합니까? 또는 전체 IP 주소를 저장합니다. 그렇다면 NSString으로 저장하는 것과 동일하지 않습니까? –

+0

@Melvin Lai : 두 가지 방법이 있습니다 :'var array = int [] {192,168,0,1}; // or reversed' 그리고'var i = 192 << 24 + 168 << 16 + 0 << 8 + 1; 32 비트 정수로 저장하면 필요한 저장 공간을 최소화하고 색인 목적으로 사용 가치를 부여 할 수 있습니다. 배열은 정수형에 단순하게 접근 할 수있게 해줍니다 (마스크 기반 필터를 사용하고 있지만 비트 논리를 사용하여 168을 꺼내고 싶지는 않습니다). 모든 경우에 매우 복잡한 작업을 수행하지 않는 한 문자열 형식은 단순성 관점에서 볼 때 가장 좋습니다. – Guvante

1

NSString을 사용합니다. 당신이 조각으로 그것을 조각을 얻을 필요가있는 경우, 사용

+0

감사! 너무 많은 답변을 보니 모두가 같은 데이터 유형으로 답했다. 'NSString'으로 저장하십시오. 그러나 당신의 코드를 보면서 나는 그렇게 잘 될 것이라고 생각합니다! :) –

-1

192.168.1.1은 수많은 가정용 고속 무선 라우터의 기본 IP로 간주됩니다. 처음에는 Linksys에 의해 사용되었지만 Netgear 및 Westell이 제조 한 제품 중 일부를 포함하여 다른 여러 홈 네트워크 제품에도 사용되었습니다.

에도 IP address하지만이 기본적으로 사용하지 않도록하는 고속 광대역 무선 라우터의 많은에 대한 기본 IP로 우수하다. 많은 수의 제작자가 기본 IP 주소를 192.168.1로 설정합니다.1을 표준 세팅 조건을 시장에 내놓는 방법으로 사용하고 처음 클라이언트가 자신의 네트워크 시스템을 간단하고 효율적으로 설정하는 것을 더 간단하게 만듭니다.

5 월에만 Linksys와 다른 무선 라우터는 192.168.1.1 IP?

분명히 192.168.1.1은 분명히 비공개 IPv4 주소이므로 모든 유형의 랩톱이나 컴퓨터, 모뎀, 스위치 또는 다른 웹 시스템이이 고유 한 IP로 작동하도록 고안 될 수 있습니다. 그럼에도 불구하고 192.168.1.1로 기본 설정되는 많은 제품이 있기 때문에 대부분의 경우 권장하지 않습니다. 동일한 IP를 사용하는 여러 제품에서 곧 상호 작용 문제가 발생할 수 있습니다. private IP address을 사용하는 수많은 장치를 소유하고 있다면 기본적으로 하나의 대체 장치를 다른 위치로 조정해야한다는 점도 고려해야합니다.

+1

답장을 보내 주시면 감사하겠습니다. 이것은 프로그래밍 질문이며 일부 라우터 질문이 아닙니다. 이 사이트의 우리 중 대부분은 라우터가 무엇인지, 어떤 브랜드가 있고 무엇을하는지 알고 있습니다. 완전히이 질문에 맞지 않으므로이 답변을 제거하십시오. –

관련 문제