fix: create message free string

dev_1
Gordon 2 years ago committed by Gordon
parent 314328c002
commit 2ee9b33e11
  1. 7
      c_wrapper/export.go
  2. 17
      c_wrapper/test.c

@ -142,8 +142,7 @@ type BatchMessageCallback struct {
}
func (b BatchMessageCallback) OnRecvNewMessages(messageList string) {
//TODO implement me
panic("implement me")
C.Call_CB_I_S(b.cCallback, RECV_NEW_MESSAGES, C.CString(messageList))
}
func (b BatchMessageCallback) OnRecvOfflineNewMessages(messageList string) {
@ -417,7 +416,9 @@ func get_login_user() *C.char {
//export create_text_message
func create_text_message(operationID, text *C.char) *C.char {
return C.CString(open_im_sdk.CreateTextMessage(C.GoString(operationID), C.GoString(text)))
message:=C.CString(open_im_sdk.CreateTextMessage(C.GoString(operationID), C.GoString(text)))
defer FreeCString(message)
return message
}
//export create_advanced_text_message

@ -22,6 +22,14 @@ void c_conn_callback(int event, char *data)
printf("C c_conn_callback receive from Go callbck code: %d,data: %s\n", event,data);
}
void c_conversation_callback(int event, char *data)
{
printf("C c_conversation_callback receive from Go callbck code: %d,data: %s\n", event, data);
}
void c_message_callback(int event, char *data)
{
printf("C c_message_callback receive from Go callbck code: %d,data: %s\n", event, data);
}
void c_base_callback(char * operationID ,int errCode,char * errMsg,char *data)
{
printf("C c_base_callback operationID: %s receive from Go callbck code: %d, errMsg: %s, data: %s\n", operationID, errCode, errMsg, data);
@ -32,17 +40,20 @@ int main(int argc, char **argv)
// char uid[] = "6959062403";
char uid[] = "4365007572";
// char token[] = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiI2OTU5MDYyNDAzIiwiUGxhdGZvcm1JRCI6MywiZXhwIjoxNzAwNzIwOTg0LCJuYmYiOjE2OTI5NDQ2ODQsImlhdCI6MTY5Mjk0NDk4NH0.8otKTFrOCs8_ueV10rNOD-rzHrCT_EN0obKS9q79bIc";
char token[] = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiI0MzY1MDA3NTcyIiwiUGxhdGZvcm1JRCI6MywiZXhwIjoxNzAxNzYzODQ1LCJuYmYiOjE2OTM5ODc1NDUsImlhdCI6MTY5Mzk4Nzg0NX0.wK4f-R_iuyX7i6gelO2_smob50bdR_2s6FnMvb3xA6U";
char token[] = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySUQiOiI0MzY1MDA3NTcyIiwiUGxhdGZvcm1JRCI6MiwiZXhwIjoxNzAyNjk4NTkzLCJuYmYiOjE2OTQ5MjIyOTMsImlhdCI6MTY5NDkyMjU5M30.2Bp8lMgIWXZdPp4J_BWGqJ14gQqiHxGiICxfxrgAq-A";
char *jsonString = "{\"platformID\": 3, \"apiAddr\": \"http://125.124.195.201:10002\", \"wsAddr\":\"ws://125.124.195.201:10001\",\"dataDir\": \"./\", \"logLevel\": 1, \"isLogStandardOutput\": true, \"logFilePath\": \"./\", \"isExternalExtensions\": true}";
char *jsonString = "{\"platformID\": 2, \"apiAddr\": \"http://125.124.195.201:10002\", \"wsAddr\":\"ws://125.124.195.201:10001\",\"dataDir\": \"./\", \"logLevel\": 5, \"isLogStandardOutput\": true, \"logFilePath\": \"./\", \"isExternalExtensions\": true}";
GoUint8 init_result;
init_result = init_sdk(c_conn_callback,operationID, jsonString);
printf("init_result: %u\n", init_result);
login(c_base_callback, operationID, uid, token);
sleep(10);
// char text[] = "哈哈";
set_conversation_listener(c_conversation_callback);
set_advanced_msg_listener(c_message_callback);
// char text[] = "哈哈";
char* loginUserID=get_login_user();
printf("return :%s\n",loginUserID);

Loading…
Cancel
Save