Soket demo
```language
#include "amaziot.h"
#define USER_TASK_STACK_SIZE (2048)
#define USER_TASK_PRIORITY (COS_USER_TASKS_PRIORITY_BASE)
#define DIRECT_RECV_LEN 1024
/*
add user task here
*/
void UserTask(void *p_arg);
VOID UserCreateTask(void)
{
COS_CreateTask(UserTask,NULL, NULL,USER_TASK_STACK_SIZE,USER_TASK_PRIORITY,COS_CREATE_DEFAULT, 0, "UserTask");
}
void UserTask(void *p_arg)
{
UINT32 ret = 0;
SOCKET amaziot_dir_socketId = INVALID_SOCKET;
UINT8 pData[DIRECT_RECV_LEN]={0};
char *ip="39.98.92.198";
unsigned short port=8092;
AT_WriteUart("SocketTask Runing\r\n", strlen("SocketTask Runing\r\n"));
//wait for dev reg net
wait_dev_reg_net();
//init Tcp
if(Amaziot_Tcp_Directinit()==0)
AT_WriteUart("Amaziot_Tcp_Directinit fail\r\n", strlen("Amaziot_Tcp_Directinit fail\r\n"));
//connect Tcp
if((amaziot_dir_socketId = Amaziot_Tcp_connect(ip,port))==INVALID_SOCKET)
AT_WriteUart("Amaziot_Tcp_connect fail\r\n", strlen("Amaziot_Tcp_connect fail\r\n"));
//send data
Amaziot_delay_3s(); //delay for socket OK
UINT8 arrStr[]="hello";
if((ret = Amaziot_Tcp_Send(amaziot_dir_socketId, arrStr, strlen(arrStr), 0))==SOCKET_ERROR)
AT_WriteUart("Amaziot_Tcp_Send fail\r\n", strlen("Amaziot_Tcp_Send fail\r\n"));
while (1)
{
ret = Amaziot_Tcp_Rec(amaziot_dir_socketId, pData, DIRECT_RECV_LEN, 0);
if (SOCKET_ERROR == ret)
{
Amaziot_Tcp_Close(amaziot_dir_socketId);
AT_WriteUart("Amaziot_Tcp_Rev fail\r\n", strlen("Amaziot_Tcp_Rev fail\r\n"));
return;
}
else{
//uart print recv data
if(ret>0){
AT_WriteUart(pData, strlen(pData));
memset(pData,0,DIRECT_RECV_LEN);
}
}
}
}
```