first commit for opensource
first commit for opensource
This commit is contained in:
60
examples/tcp_udp_base_lwip/tcp_client/tcp_client.c
Normal file
60
examples/tcp_udp_base_lwip/tcp_client/tcp_client.c
Normal file
@@ -0,0 +1,60 @@
|
||||
#include "tcp_client.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "lwip/api.h"
|
||||
#include <lwip/sockets.h>
|
||||
#include <lwip/err.h>
|
||||
#include <lwip/sys.h>
|
||||
#include <errno.h>
|
||||
|
||||
char recvline[512];
|
||||
|
||||
const char *str = "Welcome to TencentOS Tiny!";
|
||||
const char *server_ip = "182.254.196.11";
|
||||
const unsigned short server_port = 8087;
|
||||
|
||||
void application_entry(void *arg)
|
||||
{
|
||||
int socketfd, len;
|
||||
static int cnt=0;
|
||||
struct sockaddr_in sockaddr;
|
||||
struct timeval tv = {10, 0};
|
||||
|
||||
MX_LWIP_Init();
|
||||
|
||||
while (1) {
|
||||
socketfd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
setsockopt(socketfd, SOL_SOCKET, SO_RCVTIMEO, (char*)&tv, sizeof(struct timeval));
|
||||
memset(&sockaddr, 0, sizeof(sockaddr));
|
||||
|
||||
sockaddr.sin_addr.s_addr = inet_addr(server_ip);
|
||||
sockaddr.sin_family = AF_INET;
|
||||
sockaddr.sin_port = htons(server_port);
|
||||
|
||||
if ((connect(socketfd, (struct sockaddr*)&sockaddr, sizeof(sockaddr))) < 0) {
|
||||
printf("connect error %s errno: %d\n", strerror(errno), errno);
|
||||
goto tcp_client_exit;
|
||||
}
|
||||
|
||||
printf("send(%d): %s:%d :%s\n", ++cnt, server_ip, server_port, str);
|
||||
if ((send(socketfd, str, strlen(str), 0)) < 0) {
|
||||
printf("send mes error: %s errno : %d\n", strerror(errno), errno);
|
||||
goto tcp_client_exit;
|
||||
}
|
||||
|
||||
len = recv(socketfd, recvline, sizeof(recvline), 0);
|
||||
if (len > 0) {
|
||||
recvline[len] = '\0';
|
||||
printf("recv msg from server: %s\n", recvline);
|
||||
} else {
|
||||
printf("recv err(%d)\n", len);
|
||||
}
|
||||
|
||||
close(socketfd);
|
||||
tos_task_delay(1000);
|
||||
}
|
||||
|
||||
tcp_client_exit:
|
||||
printf("exit\n");
|
||||
}
|
||||
|
11
examples/tcp_udp_base_lwip/tcp_client/tcp_client.h
Normal file
11
examples/tcp_udp_base_lwip/tcp_client/tcp_client.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef _TCP_CLIENT_H
|
||||
#define _TCP_CLIENT_H
|
||||
|
||||
#include "sys.h"
|
||||
#include "lwip/debug.h"
|
||||
#include "lwip/stats.h"
|
||||
#include "lwip/tcp.h"
|
||||
#include "ethernetif.h"
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user