Revert "[Feature][T8TSK-189] chang urc report address to 127.0.0.1"

This reverts commit 2f5cd7b89a77d1bf4c69ddb49788efedaaec4fff.

Reason for revert: <INSERT REASONING HERE>

Change-Id: Ic90904e6501cb706c709fd3501ae13f96b1b048a
diff --git a/src/lynq/lib/liblynq-call/lynq_module_socket.cpp b/src/lynq/lib/liblynq-call/lynq_module_socket.cpp
index 2d5b0e8..ff45c02 100755
--- a/src/lynq/lib/liblynq-call/lynq_module_socket.cpp
+++ b/src/lynq/lib/liblynq-call/lynq_module_socket.cpp
@@ -16,12 +16,11 @@
 #include "lynq_module_socket.h"

 #include "liblog/lynq_deflog.h"

 #include "lynq_shm.h"

-#include "lynq_urc_socket.h"

 

 #define LYNQ_SERVICE_PORT 8088

 #define LYNQ_ADDRESS "127.0.0.1"

-//#define LYNQ_URC_SERVICE_PORT 8086

-//#define LYNQ_URC_ADDRESS "0.0.0.0"

+#define LYNQ_URC_SERVICE_PORT 8086

+#define LYNQ_URC_ADDRESS "0.0.0.0"

 #define LYNQ_REQUEST_PARAM_BUF 8192

 #define LYNQ_REC_BUF 8192

 

@@ -51,11 +50,11 @@
 lynq_resp_t response;

 

 int module_len_rc_addr_serv;

-//int module_len_urc_addr_serv;

+int module_len_urc_addr_serv;

 struct sockaddr_in module_rc_addr_serv;

-//struct sockaddr_in module_urc_addr_serv;

+struct sockaddr_in module_urc_addr_serv;

 static int module_rc_sock_fd = -1;

-//static int module_urc_sock_fd = -1;

+static int module_urc_sock_fd = -1;

 int module_urc_status = 1;

 int module_rc_status = 1;

 pthread_t module_urc_tid = -1;

@@ -130,11 +129,11 @@
 *  other:failure

 */

 const int waitResponse(Parcel*& p, int token,int time_out)

-{

+{
     int waitToken = token;

     int wakeup_token=-1;

     int resp_type;

-    struct timeval now;

+    struct timeval now;
     struct timespec timeout;  

     int ret;

     std::list<Parcel*>::iterator iter;

@@ -142,8 +141,8 @@
     

     gettimeofday(&now,NULL);

     timeout.tv_sec = now.tv_sec+time_out; //timeout is 1min

-    timeout.tv_nsec = now.tv_usec*1000;

-

+    timeout.tv_nsec = now.tv_usec*1000;
+
     LYINFLOG("%s wait token is %d, wait time is %d",__func__,waitToken,time_out);

     

     BLOCK_RECV_MSG_LOCK();

@@ -327,8 +326,7 @@
     while(module_urc_status)

     {

         bzero(urc_data,LYNQ_REC_BUF);

-        //res = recvfrom(module_urc_sock_fd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&module_urc_addr_serv,(socklen_t*)&module_len_urc_addr_serv);

-        res = lynq_recv_urc_msg(urc_data,sizeof(urc_data));

+        res = recvfrom(module_urc_sock_fd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&module_urc_addr_serv,(socklen_t*)&module_len_urc_addr_serv);

         if(res<sizeof(int32_t)*2)

         {

             LYERRLOG("thread_urc_recv step2 fail: res is %d",res);

@@ -462,46 +460,44 @@
 

 int lynq_setup_urc_socket()

 {

-//    int on = 1;

-//    int ret = 0;

-//    module_len_urc_addr_serv = sizeof(sockaddr_in);

-//    module_urc_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);

-//    if (module_urc_sock_fd <0){

-//        LYERRLOG("urc socket error");

-//        return RESULT_ERROR;

-//    }

-//    module_urc_addr_serv.sin_family = AF_INET;

-//    module_urc_addr_serv.sin_port = htons(LYNQ_URC_SERVICE_PORT);

-//    module_urc_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_ADDRESS);

-//    /* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/

-//    ret = setsockopt(module_urc_sock_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);

-//    if(ret <0)

-//    {

-//        LYERRLOG("urc socket set error");

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//        return RESULT_ERROR;

-//    }

-//    ret = bind(module_urc_sock_fd ,(struct sockaddr*)&module_urc_addr_serv, sizeof(module_urc_addr_serv));

-//    if(ret <0)

-//    {

-//        LYERRLOG("urc socket bind error");

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//        return RESULT_ERROR;

-//    }

-

-//    return RESULT_OK;

-    return lynq_register_urc_socket() > 0 ? RESULT_OK : RESULT_ERROR;

+    int on = 1;

+    int ret = 0;

+    module_len_urc_addr_serv = sizeof(sockaddr_in);

+    module_urc_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);

+    if (module_urc_sock_fd <0){

+        LYERRLOG("urc socket error");

+        return RESULT_ERROR;  

+    }

+    module_urc_addr_serv.sin_family = AF_INET;

+    module_urc_addr_serv.sin_port = htons(LYNQ_URC_SERVICE_PORT);

+    module_urc_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_ADDRESS);

+    /* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/

+    ret = setsockopt(module_urc_sock_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);

+    if(ret <0)

+    {

+        LYERRLOG("urc socket set error");

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+        return RESULT_ERROR;  

+    }

+    ret = bind(module_urc_sock_fd ,(struct sockaddr*)&module_urc_addr_serv, sizeof(module_urc_addr_serv));

+    if(ret <0)

+    {

+        LYERRLOG("urc socket bind error");

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+        return RESULT_ERROR;  

+    }

+    return RESULT_OK;

 }

 

 void lynq_close_urc_socket()

 {

-//    if (module_urc_sock_fd >= 0)

-//    {

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//    }

+    if (module_urc_sock_fd >= 0)

+    {

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+    }  

 }

 

 int lynq_start_all_urc_socket_thread()

diff --git a/src/lynq/lib/liblynq-data/lynq_data_urc.cpp b/src/lynq/lib/liblynq-data/lynq_data_urc.cpp
index d527ed2..9f211eb 100755
--- a/src/lynq/lib/liblynq-data/lynq_data_urc.cpp
+++ b/src/lynq/lib/liblynq-data/lynq_data_urc.cpp
@@ -13,7 +13,6 @@
 #include "lynq_data_urc.h"
 #include "liblog/lynq_deflog.h"
 #include "lynq_shm.h"
-#include "lynq_urc_socket.h"
 
 #define LYNQ_REC_BUF 8192
 
@@ -77,8 +76,7 @@
     while(data_urc_recive_status)
     {
         bzero(urc_data,LYNQ_REC_BUF);
-//        res = recvfrom(lynq_urc_sockfd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&urc_local_addr,(socklen_t*)&lynq_len_urc_addr_serv);
-        res = lynq_recv_urc_msg(urc_data,sizeof(urc_data));
+        res = recvfrom(lynq_urc_sockfd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&urc_local_addr,(socklen_t*)&lynq_len_urc_addr_serv);
         
         if(res<sizeof(int32_t)*2)
         {
@@ -167,38 +165,37 @@
 
 int lynq_socket_recv_start()
 {
-//    int rt=0;
-//    int on=1;
-//    struct sockaddr_in urc_local_addr;
-//    pthread_attr_t attr;
-//    lynq_urc_sockfd = socket(AF_INET,SOCK_DGRAM,0);
-//    if(lynq_urc_sockfd < 0)
-//    {
-//        LYERRLOG("create socket for udp fail");
-//        return -1;
-//    }
-//    urc_local_addr.sin_family = AF_INET;
-//    urc_local_addr.sin_port = htons(LYNQ_URC_SERVICE_PORT);
-//    urc_local_addr.sin_addr.s_addr = htons(INADDR_ANY);
-//    /* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/
-//    rt = setsockopt(lynq_urc_sockfd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);
-//    if(rt<0)
-//    {
-//        LYERRLOG("SO_REUSEADDR fail");
-//        close(lynq_urc_sockfd);
-//        lynq_urc_sockfd = -1;
-//        return -1;
-//    }
-//    rt = bind(lynq_urc_sockfd ,(struct sockaddr*)&urc_local_addr, sizeof(urc_local_addr));
-//    if (rt == -1)
-//    {
-//        LYERRLOG("bind failed");
-//        close(lynq_urc_sockfd);
-//        lynq_urc_sockfd = -1;
-//        return -1;
-//    }
-//    return 0;
-    return lynq_register_urc_socket() > 0 ? 0 : -1;
+    int rt=0;
+    int on=1;
+    struct sockaddr_in urc_local_addr;
+    pthread_attr_t attr;
+    lynq_urc_sockfd = socket(AF_INET,SOCK_DGRAM,0);
+    if(lynq_urc_sockfd < 0)
+    {
+        LYERRLOG("create socket for udp fail");
+        return -1;
+    }
+    urc_local_addr.sin_family = AF_INET;
+    urc_local_addr.sin_port = htons(LYNQ_URC_SERVICE_PORT);
+    urc_local_addr.sin_addr.s_addr = htons(INADDR_ANY);
+    /* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/
+    rt = setsockopt(lynq_urc_sockfd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);
+    if(rt<0)
+    {
+        LYERRLOG("SO_REUSEADDR fail");
+        close(lynq_urc_sockfd);
+        lynq_urc_sockfd = -1;
+        return -1;
+    }
+    rt = bind(lynq_urc_sockfd ,(struct sockaddr*)&urc_local_addr, sizeof(urc_local_addr));
+    if (rt == -1)
+    {
+        LYERRLOG("bind failed");
+        close(lynq_urc_sockfd);
+        lynq_urc_sockfd = -1;
+        return -1;
+    }
+    return 0;
 }
 
 int lynq_socket_recv_stop()
diff --git a/src/lynq/lib/liblynq-data/lynq_data_urc.h b/src/lynq/lib/liblynq-data/lynq_data_urc.h
index 80069e8..7ac4f75 100755
--- a/src/lynq/lib/liblynq-data/lynq_data_urc.h
+++ b/src/lynq/lib/liblynq-data/lynq_data_urc.h
@@ -27,4 +27,4 @@
 bool is_support_urc(int urc_id);
 void urc_msg_process(Parcel *p);
 
-#endif
+#endif
\ No newline at end of file
diff --git a/src/lynq/lib/liblynq-network/lynq_module_socket.cpp b/src/lynq/lib/liblynq-network/lynq_module_socket.cpp
index 48353dc..c3f7334 100755
--- a/src/lynq/lib/liblynq-network/lynq_module_socket.cpp
+++ b/src/lynq/lib/liblynq-network/lynq_module_socket.cpp
@@ -16,12 +16,11 @@
 #include "lynq_module_socket.h"

 #include "liblog/lynq_deflog.h"

 #include "lynq_shm.h"

-#include "lynq_urc_socket.h"

 

 #define LYNQ_SERVICE_PORT 8088

 #define LYNQ_ADDRESS "127.0.0.1"

-//#define LYNQ_URC_SERVICE_PORT 8086

-//#define LYNQ_URC_ADDRESS "0.0.0.0"

+#define LYNQ_URC_SERVICE_PORT 8086

+#define LYNQ_URC_ADDRESS "0.0.0.0"

 #define LYNQ_REQUEST_PARAM_BUF 8192

 #define LYNQ_REC_BUF 8192

 

@@ -51,11 +50,11 @@
 lynq_resp_t response;

 

 int module_len_rc_addr_serv;

-//int module_len_urc_addr_serv;

+int module_len_urc_addr_serv;

 struct sockaddr_in module_rc_addr_serv;

-//struct sockaddr_in module_urc_addr_serv;

+struct sockaddr_in module_urc_addr_serv;

 static int module_rc_sock_fd = -1;

-//static int module_urc_sock_fd = -1;

+static int module_urc_sock_fd = -1;

 int module_urc_status = 1;

 int module_rc_status = 1;

 pthread_t module_urc_tid = -1;

@@ -130,11 +129,11 @@
 *  other:failure

 */

 const int waitResponse(Parcel*& p, int token,int time_out)

-{

+{
     int waitToken = token;

     int wakeup_token=-1;

     int resp_type;

-    struct timeval now;

+    struct timeval now;
     struct timespec timeout;  

     int ret;

     std::list<Parcel*>::iterator iter;

@@ -142,8 +141,8 @@
     

     gettimeofday(&now,NULL);

     timeout.tv_sec = now.tv_sec+time_out; //timeout is 1min

-    timeout.tv_nsec = now.tv_usec*1000;

-

+    timeout.tv_nsec = now.tv_usec*1000;
+
     LYINFLOG("%s wait token is %d, wait time is %d",__func__,waitToken,time_out);

     

     BLOCK_RECV_MSG_LOCK();

@@ -327,8 +326,7 @@
     while(module_urc_status)

     {

         bzero(urc_data,LYNQ_REC_BUF);

-        //res = recvfrom(module_urc_sock_fd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&module_urc_addr_serv,(socklen_t*)&module_len_urc_addr_serv);

-        res = lynq_recv_urc_msg(urc_data,sizeof(urc_data));

+        res = recvfrom(module_urc_sock_fd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&module_urc_addr_serv,(socklen_t*)&module_len_urc_addr_serv);

         if(res<sizeof(int32_t)*2)

         {

             LYERRLOG("thread_urc_recv step2 fail: res is %d",res);

@@ -462,45 +460,44 @@
 

 int lynq_setup_urc_socket()

 {

-//    int on = 1;

-//    int ret = 0;

-//    module_len_urc_addr_serv = sizeof(sockaddr_in);

-//    module_urc_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);

-//    if (module_urc_sock_fd <0){

-//        LYERRLOG("urc socket error");

-//        return RESULT_ERROR;

-//    }

-//    module_urc_addr_serv.sin_family = AF_INET;

-//    module_urc_addr_serv.sin_port = htons(LYNQ_URC_SERVICE_PORT);

-//    module_urc_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_ADDRESS);

-//    /* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/

-//    ret = setsockopt(module_urc_sock_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);

-//    if(ret <0)

-//    {

-//        LYERRLOG("urc socket set error");

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//        return RESULT_ERROR;

-//    }

-//    ret = bind(module_urc_sock_fd ,(struct sockaddr*)&module_urc_addr_serv, sizeof(module_urc_addr_serv));

-//    if(ret <0)

-//    {

-//        LYERRLOG("urc socket bind error");

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//        return RESULT_ERROR;

-//    }

-//    return RESULT_OK;

-    return lynq_register_urc_socket() > 0 ? RESULT_OK : RESULT_ERROR;

+    int on = 1;

+    int ret = 0;

+    module_len_urc_addr_serv = sizeof(sockaddr_in);

+    module_urc_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);

+    if (module_urc_sock_fd <0){

+        LYERRLOG("urc socket error");

+        return RESULT_ERROR;  

+    }

+    module_urc_addr_serv.sin_family = AF_INET;

+    module_urc_addr_serv.sin_port = htons(LYNQ_URC_SERVICE_PORT);

+    module_urc_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_ADDRESS);

+    /* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/

+    ret = setsockopt(module_urc_sock_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);

+    if(ret <0)

+    {

+        LYERRLOG("urc socket set error");

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+        return RESULT_ERROR;  

+    }

+    ret = bind(module_urc_sock_fd ,(struct sockaddr*)&module_urc_addr_serv, sizeof(module_urc_addr_serv));

+    if(ret <0)

+    {

+        LYERRLOG("urc socket bind error");

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+        return RESULT_ERROR;  

+    }

+    return RESULT_OK;

 }

 

 void lynq_close_urc_socket()

 {

-//    if (module_urc_sock_fd >= 0)

-//    {

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//    }

+    if (module_urc_sock_fd >= 0)

+    {

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+    }  

 }

 

 int lynq_start_all_urc_socket_thread()

diff --git a/src/lynq/lib/liblynq-shm/include/lynq_urc_socket.h b/src/lynq/lib/liblynq-shm/include/lynq_urc_socket.h
deleted file mode 100755
index 866d5c2..0000000
--- a/src/lynq/lib/liblynq-shm/include/lynq_urc_socket.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**

- * @file shm.h

- * @author hq

- * @brief 

- * @version 1.0

- * @date 2022-12-16

- * 

- * @copyright Copyright (c) 2022

- * 

- */

-#ifndef __LYNQ_URC_SOCKET__

-#define __LYNQ_URC_SOCKET__

-

-#ifdef __cplusplus

-extern "C" {

-#endif

-int lynq_open_broadcast_urc_socket();

-int lynq_broadcast_urc_msg(void * msg, int size);

-int lynq_register_urc_socket();

-int lynq_recv_urc_msg(void * buffer, int size);

-#ifdef __cplusplus

-}

-#endif 

-#endif //#ifndef __LYNQ_URC_SOCKET__

diff --git a/src/lynq/lib/liblynq-shm/lynq_urc_socket.cpp b/src/lynq/lib/liblynq-shm/lynq_urc_socket.cpp
deleted file mode 100755
index 2ebf85f..0000000
--- a/src/lynq/lib/liblynq-shm/lynq_urc_socket.cpp
+++ /dev/null
@@ -1,278 +0,0 @@
-#include <stdio.h>

-#include <stdlib.h>

-#include <string.h>

-//#include <binder/Parcel.h>

-#include <sys/socket.h>

-#include <netinet/in.h>

-#include <arpa/inet.h>

-#include <errno.h>

-#include <stdbool.h>

-#include <sys/types.h>

-#include <unistd.h>

-#include "lynq_urc_socket.h"

-#include "log/log.h"

-#include <list>

-

-static int lynq_urc_socket_fd = 0;

-static int registered_urc_socket_port = 0;

-static int registered_urc_socket_fd = 0;

-

-static pthread_mutex_t s_urc_broadcast_mtx = PTHREAD_MUTEX_INITIALIZER;

-static std::list<struct sockaddr*> s_urc_broadcast_clients;

-

-static pthread_mutex_t s_urc_register_mtx = PTHREAD_MUTEX_INITIALIZER;

-

-#define LYNQ_URC_SERVER_LISTEN_PORT 8086

-#define LYNQ_URC_SERVER_LISTEN_ADDRESS "127.0.0.1"

-

-#define LYNQ_URC_CLIENT_PORT_START 7050

-#define LYNQ_URC_CLIENT_PORT_END 7099

-#define LYNQ_URC_CLIENT_LISTEN_ADDRESS "127.0.0.1"

-

-static void * receive_client_heartbeat(void *parm);

-static void find_all_client_to_notify_online();

-int lynq_open_broadcast_urc_socket()

-{

-    int ret = 0;

-    int on = 1;

-    pthread_mutex_lock(&s_urc_broadcast_mtx);

-

-    struct sockaddr_in addr_serv;

-    //Creating a Socket object

-    lynq_urc_socket_fd=socket(AF_INET,SOCK_DGRAM,0);

-    memset(&addr_serv, 0, sizeof(addr_serv));

-    addr_serv.sin_family =AF_INET;

-    addr_serv.sin_port = htons(LYNQ_URC_SERVER_LISTEN_PORT);

-    addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_SERVER_LISTEN_ADDRESS);

-    ret = setsockopt(lynq_urc_socket_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);

-    if (ret < 0){

-        goto open_socket_exit;

-    }

-    ret = bind(lynq_urc_socket_fd,(struct sockaddr*)&addr_serv,sizeof(addr_serv));

-    if (ret < 0){

-        goto open_socket_exit;

-    }

-    //receive registion and display on at port

-    pthread_t thid;

-    if(pthread_create(&thid, NULL, receive_client_heartbeat, NULL) != 0) {

-        RLOGE("thread creation failed\n");

-        ret = -1;

-        goto open_socket_exit;

-    }

-

-    find_all_client_to_notify_online();

-

-open_socket_exit:

-    pthread_mutex_unlock(&s_urc_broadcast_mtx);

-    return ret == 0 ? lynq_urc_socket_fd: -1;

-}

-

-int lynq_broadcast_urc_msg(void * msg, int size)

-{

-    int all_ok = 1;

-    pthread_mutex_lock(&s_urc_broadcast_mtx);

-    for(auto it=s_urc_broadcast_clients.begin(); it != s_urc_broadcast_clients.end(); )

-    {

-        int len = sendto(lynq_urc_socket_fd, msg, size, 0, *it, sizeof(struct sockaddr_in));

-        if (len < 0)

-        {

-            struct sockaddr_in *addr_cli = (struct sockaddr_in *) *it;

-            printf("remove client %d now\n", ntohs(addr_cli->sin_port));

-            it = s_urc_broadcast_clients.erase(it);

-            free(addr_cli);

-            all_ok = 0;

-            continue;

-        }

-        it++;

-    }

-    pthread_mutex_unlock(&s_urc_broadcast_mtx);

-    return all_ok;

-}

-

-int lynq_register_urc_socket()

-{

-    int on = 0;

-    int ret = 0;

-    int len_s;

-    struct sockaddr_in addr_serv;

-    //Creating a Socket object

-    pthread_mutex_lock(&s_urc_register_mtx);

-    registered_urc_socket_fd=socket(AF_INET,SOCK_DGRAM,0);

-    memset(&addr_serv, 0, sizeof(addr_serv));

-    addr_serv.sin_family =AF_INET;

-    addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_CLIENT_LISTEN_ADDRESS);

-    if (registered_urc_socket_port > 0) {

-        on = 1;

-        ret = setsockopt(registered_urc_socket_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);

-        addr_serv.sin_port = htons(registered_urc_socket_port);

-        ret = bind(registered_urc_socket_fd,(struct sockaddr*)&addr_serv,sizeof(addr_serv));

-        if (ret < 0){

-            goto register_socket_exit;

-        }

-    }

-    else

-    {

-        for(registered_urc_socket_port = LYNQ_URC_CLIENT_PORT_START; registered_urc_socket_port < LYNQ_URC_CLIENT_PORT_END; registered_urc_socket_port ++)

-        {

-            addr_serv.sin_port = htons(registered_urc_socket_port);

-            ret = bind(registered_urc_socket_fd,(struct sockaddr*)&addr_serv,sizeof(addr_serv));

-            if (ret < 0){

-                printf("bind socket %d fail\n", registered_urc_socket_port);

-                continue;

-            }

-            break;

-        }

-    }

-

-    addr_serv.sin_port = htons(LYNQ_URC_SERVER_LISTEN_PORT);

-    len_s = sendto(registered_urc_socket_fd, &registered_urc_socket_port, sizeof(registered_urc_socket_port), 0, (struct sockaddr *)&addr_serv,sizeof(addr_serv));

-    printf("send result %d %d\n", len_s, errno);

-register_socket_exit:

-    pthread_mutex_unlock(&s_urc_register_mtx);

-    printf("init result %d\n", ret);

-    return ret ==0 ? registered_urc_socket_fd : -1;

-}

-

-int lynq_recv_urc_msg(void * buffer, int size)

-{

-    int ret = 0;

-    struct sockaddr_in addr_serv;

-    socklen_t len_addr_serv = sizeof(addr_serv);

-    memset(&addr_serv, 0, sizeof(addr_serv));

-    printf("client %ul to recv now\n", pthread_self());

-    pthread_mutex_lock(&s_urc_register_mtx);

-    if (registered_urc_socket_fd <= 0) {

-        pthread_mutex_unlock(&s_urc_register_mtx);

-        return -1;

-    }

-    while(1)

-    {

-        memset(buffer, 0, 4);

-        ret = recvfrom(registered_urc_socket_fd, buffer, size,0,(struct sockaddr *)&addr_serv,(socklen_t*)&len_addr_serv);

-        if (ret > 0 && LYNQ_URC_SERVER_LISTEN_PORT == ntohs(addr_serv.sin_port))

-        {

-            if (ret == 4 && LYNQ_URC_SERVER_LISTEN_PORT == *((int*)buffer))

-            {

-                sendto(registered_urc_socket_fd, &registered_urc_socket_port, sizeof(registered_urc_socket_port), 0, (struct sockaddr *)&addr_serv,sizeof(addr_serv));

-                printf("to send ack of headbeat\n");

-                continue;

-            }

-        }

-        else

-        {

-            printf("not a server packet\n");

-            continue;

-        }

-        break;

-    }

-    pthread_mutex_unlock(&s_urc_register_mtx);

-    printf("client %ul recv %d\n", pthread_self(), ret);

-    return ret;

-}

-

-static void *receive_client_heartbeat(void *parm)

-{

-    RLOGE("receive_at thread start\n");

-    int recv = 0;

-    char buffer[1024] = {0};

-    while(1)

-    {

-        RLOGE("receive third at cmd\n");

-

-        socklen_t len = sizeof(struct sockaddr_in);

-        struct sockaddr* cli = (struct sockaddr*)malloc(len);

-        bzero(cli, len);

-        printf("to recv now\n");

-        recv = recvfrom(lynq_urc_socket_fd, buffer, 1024, 0, cli, &len);

-        if(recv < 0)

-        {

-            RLOGE("recv fail\n");

-            printf("recv fail\n");

-            free(cli);

-            continue;

-        }

-        printf("recv a packet %d \n", recv);

-        struct sockaddr_in * register_socket = (struct sockaddr_in*)cli;

-

-        int port = ntohs(register_socket->sin_port);

-        if (recv == 4 && port == *((int*)buffer))

-        {

-            printf("port is %d\n", port);

-            pthread_mutex_lock(&s_urc_broadcast_mtx);

-            s_urc_broadcast_clients.push_back(cli);

-            pthread_mutex_unlock(&s_urc_broadcast_mtx);

-            RLOGE("recvfrom from client\n");

-        }

-    }

-    return NULL;

-}

-static int exec_cmd(const char *str_cmd, char * str_cmd_ret, size_t max_len)

-{

-    FILE *fp;

-    //printf("to exec cmd:%s\n", str_cmd);

-    if((fp=popen(str_cmd,"r"))==NULL)

-    {

-        perror("popen error!");

-        return -1;

-    }

-    if((fread(str_cmd_ret,max_len,1,fp))<0)

-    {

-        perror("fread fail!");

-        fclose(fp);

-        return -1;

-    }

-    fclose(fp);

-    return 0;

-}

-

-static int lynq_split(char * str, int len, char delimiter, char * results[]) {

-    int ret = 0;

-    char * end = str + len - 1;

-    results[ret++] = str;

-    while(str < end) {

-        if (*str == delimiter) {

-            *str++ = '\0';

-            results[ret++] = str;

-            continue;

-        }

-        str++;

-    }

-    if (*str == delimiter) {

-        *str = '\0';

-    }

-

-    return ret;

-}

-

-static void find_all_client_to_notify_online()

-{

-    char buffer[1024] = {0};

-    char * split_lines[128]= {0};

-    int count = 0;

-    int port, len;

-    int local_port = LYNQ_URC_SERVER_LISTEN_PORT;

-    printf("find_all_client_to_notify_online\n");

-    if (exec_cmd("netstat -an | grep -e \"127\\.0\\.0\\.1:70[5-9][0-9]\" | awk '{print $4}' | awk -F \":\" '{print $2}'", buffer, 1024) == 0)

-    {

-         count = lynq_split(buffer, 1024, '\n', split_lines);

-         for(int i=0; i < count;i++)

-         {

-             port = atoi(split_lines[i]);

-             printf("got %s port:%d\n", split_lines[i], port);

-             if (port < LYNQ_URC_CLIENT_PORT_START || port > LYNQ_URC_CLIENT_PORT_END)

-                 continue;

-

-             struct sockaddr_in addr_serv;

-             memset(&addr_serv, 0, sizeof(addr_serv));

-             addr_serv.sin_family =AF_INET;

-             addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_CLIENT_LISTEN_ADDRESS);

-             addr_serv.sin_port = htons(port);

-             len = sendto(lynq_urc_socket_fd, &local_port, sizeof(local_port), 0, (struct sockaddr *)&addr_serv,sizeof(addr_serv));

-             printf("send result %d %d\n", len, errno);

-         }

-    }

-    else

-    {

-        printf("net stat fail\n");

-    }

-}

diff --git a/src/lynq/lib/liblynq-shm/makefile b/src/lynq/lib/liblynq-shm/makefile
index d49d358..806cc77 100755
--- a/src/lynq/lib/liblynq-shm/makefile
+++ b/src/lynq/lib/liblynq-shm/makefile
@@ -20,9 +20,8 @@
     -L. \
     -ldl \
     -llog \
-    -lpthread \
-	
 #   -lbinder \
+    -lpthread \
 #   -lutils \
 #   -lcutils \
 
diff --git a/src/lynq/lib/liblynq-sms/lynq_module_socket.cpp b/src/lynq/lib/liblynq-sms/lynq_module_socket.cpp
index ce07df1..8d012da 100755
--- a/src/lynq/lib/liblynq-sms/lynq_module_socket.cpp
+++ b/src/lynq/lib/liblynq-sms/lynq_module_socket.cpp
@@ -16,12 +16,11 @@
 #include "lynq_module_socket.h"

 #include "liblog/lynq_deflog.h"

 #include "lynq_shm.h"

-#include "lynq_urc_socket.h"

 

 #define LYNQ_SERVICE_PORT 8088

 #define LYNQ_ADDRESS "127.0.0.1"

-//#define LYNQ_URC_SERVICE_PORT 8086

-//#define LYNQ_URC_ADDRESS "0.0.0.0"

+#define LYNQ_URC_SERVICE_PORT 8086

+#define LYNQ_URC_ADDRESS "0.0.0.0"

 #define LYNQ_REQUEST_PARAM_BUF 8192

 #define LYNQ_REC_BUF 8192

 

@@ -51,11 +50,11 @@
 lynq_resp_t response;

 

 int module_len_rc_addr_serv;

-//int module_len_urc_addr_serv;

+int module_len_urc_addr_serv;

 struct sockaddr_in module_rc_addr_serv;

-//struct sockaddr_in module_urc_addr_serv;

+struct sockaddr_in module_urc_addr_serv;

 static int module_rc_sock_fd = -1;

-//static int module_urc_sock_fd = -1;

+static int module_urc_sock_fd = -1;

 int module_urc_status = 1;

 int module_rc_status = 1;

 pthread_t module_urc_tid = -1;

@@ -325,8 +324,7 @@
     while(module_urc_status)

     {

         bzero(urc_data,LYNQ_REC_BUF);

-        //res = recvfrom(module_urc_sock_fd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&module_urc_addr_serv,(socklen_t*)&module_len_urc_addr_serv);

-        res = lynq_recv_urc_msg(urc_data,sizeof(urc_data));

+        res = recvfrom(module_urc_sock_fd,urc_data,sizeof(urc_data),0,(struct sockaddr *)&module_urc_addr_serv,(socklen_t*)&module_len_urc_addr_serv);

         if(res<sizeof(int32_t)*2)

         {

             LYERRLOG("thread_urc_recv step2 fail: res is %d",res);

@@ -467,45 +465,44 @@
 

 int lynq_setup_urc_socket()

 {

-//    int on = 1;

-//    int ret = 0;

-//    module_len_urc_addr_serv = sizeof(sockaddr_in);

-//    module_urc_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);

-//    if (module_urc_sock_fd <0){

-//        LYERRLOG("urc socket error");

-//        return RESULT_ERROR;

-//    }

-//    module_urc_addr_serv.sin_family = AF_INET;

-//    module_urc_addr_serv.sin_port = htons(LYNQ_URC_SERVICE_PORT);

-//    module_urc_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_ADDRESS);

-//    /* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/

-//    ret = setsockopt(module_urc_sock_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);

-//    if(ret <0)

-//    {

-//        LYERRLOG("urc socket set error");

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//        return RESULT_ERROR;

-//    }

-//    ret = bind(module_urc_sock_fd ,(struct sockaddr*)&module_urc_addr_serv, sizeof(module_urc_addr_serv));

-//    if(ret <0)

-//    {

-//        LYERRLOG("urc socket bind error");

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//        return RESULT_ERROR;

-//    }

-//    return RESULT_OK;

-    return lynq_register_urc_socket() > 0 ? RESULT_OK : RESULT_ERROR;

+    int on = 1;

+    int ret = 0;

+    module_len_urc_addr_serv = sizeof(sockaddr_in);

+    module_urc_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);

+    if (module_urc_sock_fd <0){

+        LYERRLOG("urc socket error");

+        return RESULT_ERROR;  

+    }

+    module_urc_addr_serv.sin_family = AF_INET;

+    module_urc_addr_serv.sin_port = htons(LYNQ_URC_SERVICE_PORT);

+    module_urc_addr_serv.sin_addr.s_addr = inet_addr(LYNQ_URC_ADDRESS);

+    /* Set socket to allow reuse of address and port, SO_REUSEADDR value is 2*/

+    ret = setsockopt(module_urc_sock_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof on);

+    if(ret <0)

+    {

+        LYERRLOG("urc socket set error");

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+        return RESULT_ERROR;

+    }

+    ret = bind(module_urc_sock_fd ,(struct sockaddr*)&module_urc_addr_serv, sizeof(module_urc_addr_serv));

+    if(ret <0)

+    {

+        LYERRLOG("urc socket bind error");

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+        return RESULT_ERROR;  

+    }

+    return RESULT_OK;

 }

 

 void lynq_close_urc_socket()

 {

-//    if (module_urc_sock_fd >= 0)

-//    {

-//        close(module_urc_sock_fd);

-//        module_urc_sock_fd =-1;

-//    }

+    if (module_urc_sock_fd >= 0)

+    {

+        close(module_urc_sock_fd);

+        module_urc_sock_fd =-1;

+    }  

 }

 

 int lynq_start_all_urc_socket_thread()