2012-12-24 2 views
1
나는 그냥 객관적인 C 또는 C에서 PHP 아래를 immitate를 할

,목표 C의 TCP/IP?

<?php 
$host="192.168.1.4"; 
$port = 1000; 
$message="Hi"; 

// open a client connection 

$fp = fsockopen ($host, $port, $errno, $errstr); 

if (!$fp){ 

$result = "Error: could not open socket connection"; 

} 
else{ 

fputs ($fp, $message); 

fputs ($fp, "END"); 

fclose ($fp); 

} 

?> 

내가 목표 C에서 다음을 구현 한,하지만 그 정도 안정적이고 빠른 아니었다, 첫 번째 메시지가 배달됩니다 그리고 난 필요 두 번째 데이터 (나는 https://github.com/robbiehanson/CocoaAsyncSocket 시도했지만 아래의 코드 않습니다 동일한 결과를 반영합니다) 다시 연결하십시오. 데이터 전송> - - 내가 데이터를 열어야합니다> 밀접한 관계를

NSString *ipaddress =[NSString stringWithFormat:@"192.168.1.4"]; 

     CFReadStreamRef readStream; 
     CFWriteStreamRef writeStream; 
     CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)ipaddress, 1000, &readStream, &writeStream); 

     inputStream = (NSInputStream *)readStream; 
     outputStream = (NSOutputStream *)writeStream; 
     [inputStream setDelegate:self]; 
     [outputStream setDelegate:self]; 
     [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 
     [outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 

     [inputStream open]; 
     [outputStream open]; 
+0

운영 체제에 따라 다를 수 있습니다. Linux 용 http://advancedlinuxprogramming.com/을 읽으십시오. –

답변

3

것은 내가보기 엔 네트워크 통신을위한 높은 수준의 프레임 워크를 사용하는 것이 좋습니다 (지연없이 즉시 할 필요가있다). 나는 대부분의 프로젝트에 CocoaAsyncSocket을 사용하고 있습니다. iOS의 네트워킹 API로 직접 작업하는 것보다 뇌 손상이 훨씬 적습니다.

+0

Me CocoaAsyncSocket을 너무 많이 사용했지만 첫 번째 데이터 연결을 보낸 후 연결이 끊어졌고 연결을 다시 생성하여 세 번째 등을 보내야합니다 ... 시간이 많이 걸리는 프로세스 ... 그러나 포함 된 PHP는 완벽하게 빠릅니다 ... – Satheesh

+0

글쎄, 그 경우 연결이 닫힌 이유를 확인하십시오. 아마도 당신은 너무 일찍 물건을 공개하고 있습니까? 어쨌든, 원래 질문의 범위를 넘어갑니다. – BastiBen

+0

문제가 발생했습니다. 클라이언트 측에서 데이터를 수신 한 후 연결을 종료하는 것은 서버 측에서 발생했습니다. 나는 그것을 바꿀 수 있었고 현재는 잘 작동한다. @ 바닷가에 고마워. – Satheesh