2015-01-17 3 views
0

"userid is nill"이 표시되고 다른 viewcontroller로 전환 할 때 보낸 메시지가 저장되지 않습니다. XMPP 일대일 채팅을 구현하고 싶습니다. 어떻게해야합니까?IOS에서 XMPP 일대일 채팅

지금은 나와 함께 전체 프로젝트를 가지고 있지만 펜촉 파일에 있습니다. 내 작업은 그걸 스토리 보드로 변환하는 것입니다. 나는 거의 다했으나 XMPP에 머물러있다.

내가 사용해야하는 방법은 "userid is nill"과 같은 오류가 있습니다.

+0

몇 가지 중 하나가 나를 도울 수있는 경우 나 긴급한 내가 이해 – Mahesh04

+0

당신에게 모든 코드를 보내드립니다 보내기 모든 코드가 프로젝트에 포함되어 있지만 이전 메시지 채팅이 데이터베이스에 저장되어 있지 않은 경우 – Mahesh04

답변

1

ejabberd XMPP 서버를 사용하고 있다는 코멘트에서 언급했듯이. 데이터베이스에 채팅 로그를 저장할 수있는 모듈 mod_logdb이 있습니다.

다음은 구성 샘플이며 ejabberd와 함께 작동하도록 mysql db를 구성하는 방법을 보여줍니다.

{modules, [ 

    {mod_logdb, [ 
    {dbs, [ 
     {mysql5, [ 
     {user, "root"}, 
     {password, "pass"}, 
     {server, "serv"}, 
     {port, 3306}, 
     {db, "logdb"} 
     ]}, 
     {mnesia, []} 
    ]}, 
    {vhosts, [{"example1.org", mysql5}, {"example2.org", mnesia}{purge_older_days, 365}, 
    {dolog_default, true}, 
    {poll_users_settings, 5} ]}, 
    %% Other modules ... 
]}. 

는/모든 채팅 기록을 저장하면 정상 MySQL의 쿼리로 읽고 웹 서비스를 통해 응용 프로그램에 전달할 수있는 곳에서, 설정 파일에 주어진 데이터베이스에 기록합니다.

참조 링크 : 하나는 코드가있는 경우

  1. mod_logdb
  2. Configuration guide
+0

이것은 IOS wright – Mahesh04

+0

Dude입니다. 이것은 XMPP가 설치된 서버 (Linux 또는 Windows 서버)에서 구성해야합니다. iOS에서는 할 일이 없습니다. 예를 들어 하나의 웹 서비스 만 사용해야합니다. 'get_chat_log.php' (선호하는 서버 언어)로 MySQL 데이터베이스에서 chat-log를 읽고 JSON/XML로 iOS 응용 프로그램에 출력합니다. 그런 다음 채팅 메시지를 애플리케이션의 채팅 화면에 채울 수 있습니다. 희망은 분명하다. –

+0

@ Mahesh04 서버를 구성하는 것이 손에없는 경우 서버 사용자에게 위에서 언급 한 모듈을 설치하고 구성하도록 요청할 수 있습니다. 그건 매우 쉬워요. –