원격 RMQ
서버의 교환기로 메시지를 전송하는 Objective C 제공자가 있습니다. 대기열에서 수신 대기하는 소비자가 해당 교환에 바인드했습니다. 팬 아웃을 사용하고 있습니다. Xcode에서 응용 프로그램을 실행할 때 모두 제대로 작동하면 소비자가받은 메시지가 전송됩니다.Xcode가 수행하는 동안 iPhone 장치에서 보낼 때 RMQ에 메시지가 나타나지 않음
그러나 iPhone 장치에서 응용 프로그램을 실행하면 메시지가 파이프 끝 부분에 표시되지 않습니다. 우선 확인하는
- (void) send {
RMQConnection *conn = [[RMQConnection alloc] initWithUri:@"amqp://<user>:<pass>@<ip>:5672"
delegate:[RMQConnectionDelegateLogger new]];
//RMQConnection *conn = [[RMQConnection alloc] initWithDelegate:[RMQConnectionDelegateLogger new]];
[conn start];
id<RMQChannel> ch = [conn createChannel];
RMQExchange *x = [ch fanout:@"logs"];
NSString *mobilemsg = @"{\"test\" : \"test\" }";
[x publish:[mobilemsg dataUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"Sent %@", mobilemsg);
[conn close];
}
이렇게 보이지는 않지만 다음과 같이 URL에 user : password 조합을 사용합니다. RMQConnection * conn = [[RMQConnection alloc] initWithUri : @ "amqp : // user : password @ : 5672"delegate : [ RMQConnectionDelegateLogger new]]; –
수신 방법을 추가했습니다. 앱은 다른 비 IOS 클라이언트가 게시 한 메시지를받습니다. 심지어 메시지가 교환기에 도착하지 않는 것처럼 보입니다. 이것은 IOS 클라이언트에서만 발생합니다. 오류 메시지가 없습니다. –
일부 구성 오류가있는 것처럼 보이지만 아직 누락 된 것이 확실하지 않습니다. –