0

나는 서버 측 애플리케이션과 클라이언트 측 애플리케이션 사이의 작은 데이터 통신을 필요로하는 OS X 용 애플리케이션을 개발 중이다. Ruby on Rails 서버를 백엔드 방식으로 사용하여 데이터를 전달하는 방법을 시도해 보았습니다.이 방법은 구현이 매우 간단하고 쉽지만 약간의 문제가있었습니다 (실력있는 Ruby 개발자는 아닙니다). 소켓 (NSSocketPort 또는 CFSockets)을 사용하려고하지만 이러한 것이 문제를 해결할 수있는 최선의 방법인지 확실하지 않습니다. 전송해야하는 정보는 클라이언트의 컴퓨터 이름, 클라이언트의 네트워크 대역폭 및 정보 (텍스트)의 다른 작은 비트와 같은 것입니다. 또한 주목할 또 다른 사항은 모든 통신이 동일한 (잘만되면 닫힌) 네트워크 상에 있다는 것입니다. 누군가가 더 많은 정보를 얻기 위해 링크를 통해 도움이되고 간단한 추천을 할 수 있다면, 나는 그것을 대단히 감사 할 것입니다! 감사!Objective-C/Cocoa의 클라이언트 - 서버 통신을위한 접근법

EX. 고객 무리가 있고 목록을 표시하고 싶다면 최상의 접근 방법은 무엇입니까? 네트워크의 어딘가에서 실행중인 응용 프로그램이 클라이언트 목록을 표시하고 모든 클라이언트는 해당 응용 프로그램이 실행중인 컴퓨터의 IP 주소를가집니다. 클라이언트가 해당 응용 프로그램에 메시지를 보낼 때마다 새 클라이언트를 화면에 표시 할 수 있어야합니다. HTTP 요청을 사용하면 GET을 사용하여 폴링하고 새로운 항목이 추가 될 때마다 목록을 표시해야한다고 생각했습니다. 백그라운드에서 실행중인 메시지가 메시지를받을 때마다 메소드를 호출 할 수 있기를 바랍니다.

답변

1

간단한 HTTP를 사용하지 않는 이유가 있습니까?

HTTP POST를 사용하여 클라이언트에서 서버로 정보를 보내고 GET을 사용하여 서버에서 정보를 검색합니다. 텍스트 정보가 많지 않은 경우 JSON 인코딩을 사용하는 HTTP가 모든 요구 사항에 충분해야합니다. 보안이 필요한 경우 HTTPS를 사용합니다.

+0

사용자가 해당 정보를 보낼 서버를 가지고 있지 않을 경우 어떻게해야합니까? 또한 정보 중 일부는 부울 플래그 일 수 있습니다. 그러면 서버 측 응용 프로그램에서 GET을 폴링해야만 Ruby 방식으로 발생한 문제가 발생합니다. – hassaanm

+0

고객이 많고 목록을 표시하고 싶다면 어떤 방법이 가장 좋을까요? 네트워크의 어딘가에서 실행중인 응용 프로그램이 클라이언트 목록을 표시하고 모든 클라이언트는 해당 응용 프로그램이 실행중인 컴퓨터의 IP 주소를가집니다. 클라이언트가 해당 응용 프로그램에 메시지를 보낼 때마다 새 클라이언트를 화면에 표시 할 수 있어야합니다. HTTP 요청을 사용하면 새로운 것이 추가 될 때마다 폴링하고 목록을 표시해야한다고 생각했습니다. 나는 메시지가 수신 될 때마다 대신 메쏘드를 호출 할 수 있기를 원한다. – hassaanm

+1

원하는 사운드는 HTTP + 푸시 알림입니다. – jer