ios xmpp openfire實現聊天功能

2021-06-18 02:30:04 字數 1884 閱讀 5097

ios使用xmppframework 來實現基本的聊天功能

1.使用xmppstream連線openfire

需要賬戶,密碼和伺服器位址埠一般為5222

-(bool)connect

if (userid == nil || pass == nil)

//設定使用者

[xmppstream setmyjid:[xmppjid jidwithstring:userid]];

//設定伺服器

[xmppstream sethostname:server];

[xmppstream sethostport:5222];

//密碼

password = pass;

//連線伺服器

nserror *error = nil;

if (![xmppstream connectwithtimeout:xmppstreamtimeoutnone error:&error])

return yes;   

}-(void)setupstream

2,傳送訊息,通過xml來傳送

xmppframework主要是通過kissxml來生成xml檔案

//生成文件

nsxmlelement *body = [nsxmlelement elementwithname:@"body"];

[body setstringvalue:message];

//生成xml訊息文件

nsxmlelement *mes = [nsxmlelement elementwithname:@"message"];

//訊息型別

[mes addattributewithname:@"type" stringvalue:@"chat"];

//傳送給誰

[mes addattributewithname:@"to" stringvalue:[nsstring 

stringwithformat:@"%@@localhost",chatwithuserid]];

[mes addattributewithname:@"from" stringvalue:[nsstring stringwithformat:@"%@@localhost",myyueyueid]];

//組合 將body作為message的子節點

[mes addchild:body];

//傳送訊息

[[self xmppstream] sendelement:mes];

3.接受訊息

在xmppstream連線過程中有**方法,可以在收到訊息後發回

//收到訊息

- (void)xmppstream:(xmppstream *)sender didreceivemessage:(xmppmessage *)message

nsstring *msg = [[message elementforname:@"body"] stringvalue];

nsstring *from = [[message attributeforname:@"from"] stringvalue];

nsmutabledictionary *dict = [nsmutabledictionary dictionary];

[dict setobject:msg forkey:@"msg"];

[dict setobject:from forkey:@"sender"];

//訊息接收到的時間

[dict setobject:[statics getcurrenttime] forkey:@"time"];

·····

//··dict 加入資料庫··或顯示在介面·· 根據狀態決定

·····

}

python udp的應用 ,多執行緒實現聊天功能

之前我們一起實現過單執行緒的udp聊天功能,但是並不實用,這裡我們用多執行緒重新寫下 如下 import socket import threading defprint menu 顯示選單 print 請輸入你要進行的操作 1 傳送資料 接收資料 退出 defrecv data udp socke...

計網實驗C C Socket實現全雙工聊天功能

clion要在cmakelists.txt加一條link libraries ws2 32 codeblock要link對應的檔案 遇到一堆疑難雜症,順便學習一下多執行緒 效果圖 伺服器端程式設計的步驟 1 載入套接字型檔,建立套接字 wsastartup socket 2 繫結套接字到乙個 ip ...

python實現excel lookup功能

import pandas as pd sx customer 0409 pd.read excel r e lusiru 202004 20200402隨心降額名單篩選 sx customer 0409.xlsx 讀取原始資料 fx variable pd.read excel r e lusir...