Hi,
We are using EK-TM4C1294XL evaluation kit for TCP Client development, please find the below code for your reference.
Issue: Data Receiving and Transmission not working, Transmission getting enable only after receive data from Port.
Void tcpHandler(UArg arg0, UArg arg1)
{
SOCKET lSocket;
char *buffer;
struct sockaddr_in sLocalAddr;
Error_Block eb;
int clientfd;
int temp,temp1;
buffer = Memory_alloc(NULL, TCPPACKETSIZE, 0, &eb);
fdOpenSession(TaskSelf());
lSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (lSocket < 0) {
System_printf("tcpHandler: socket failed\n");
Task_exit();
return;
}
memset((char *)&sLocalAddr, 0, sizeof(sLocalAddr));
sLocalAddr.sin_family = AF_INET;
sLocalAddr.sin_addr.s_addr = inet_addr("192.168.0.152");//htonl(INADDR_ANY);
sLocalAddr.sin_port = htons(arg0);
while(clientfd = (connect(lSocket, (struct sockaddr *)&sLocalAddr, sizeof(sLocalAddr)) < 0)){
SysCtlDelay(g_ui32SysClock/100/3);
}
System_flush();
while (true) {
if(recv_comp == 1){
send(lSocket, (char *)TCP_Send_Buffer,strlen(TCP_Send_Buffer),0);
recv_comp = 0;
}
else;
if(recv_comp == 0){
nbytes = recv(lSocket, (char *)buffer, TCPPACKETSIZE, 0);
if((nbytes > 0)&&(nbytes <= 15)) {
nbytes = 0;
strncpy(Batch_Num, buffer, 15);
}
}
if (connect(lSocket, (struct sockaddr *) &sLocalAddr, sizeof(sLocalAddr)) < 0){
System_printf("DID NOT CONNECT \n");
System_printf("%d\n", fdError());
} else {
System_printf("CONNECTED \n");
}
Task_sleep(1);
}
}