MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / tcp_server_entry

Function tcp_server_entry

components/net/utest/tc_lwip.c:254–419  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

252}
253
254static void tcp_server_entry(void *parameter)
255{
256#define LWIP_TCP_TEST_BUF_SIZE 2048
257
258 rt_bool_t fail_flag = RT_TRUE;
259 char *recv_data = RT_NULL;
260 int sock = -1, bytes_received, ret, i, port, connected = 0, mode;
261 socklen_t sin_size, listend_addr_len, peer_len;
262 struct sockaddr_in server_addr, client_addr, listend_addr, peer_addr;
263
264 recv_data = rt_malloc(LWIP_TCP_TEST_BUF_SIZE);
265 if (recv_data == RT_NULL)
266 {
267 uassert_true(RT_FALSE);
268 goto __exit;
269 }
270
271 port = RT_UTEST_LWIP_TCP_PORT;
272
273 /* create socket */
274 if ((sock = lwip_socket(AF_INET, SOCK_STREAM, 0)) == -1)
275 {
276 uassert_true(RT_FALSE);
277 goto __exit;
278 }
279 else
280 {
281 uassert_true(RT_TRUE);
282 }
283
284 /* set Repeat bind port and address */
285 mode = 1;
286 lwip_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &mode, sizeof(int));
287 lwip_setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, &mode, sizeof(int));
288
289 server_addr.sin_family = AF_INET;
290 server_addr.sin_port = htons(port);
291 /* server addr:127.0.0.1 for loopback test */
292 server_addr.sin_addr.s_addr = htonl(IPADDR_LOOPBACK);
293 rt_memset(&(server_addr.sin_zero), 0, sizeof(server_addr.sin_zero));
294
295 /* bind socket */
296 if (lwip_bind(sock, (struct sockaddr *)&server_addr, sizeof(struct sockaddr)) == -1)
297 {
298 rt_kprintf("TCP server bind failed\n");
299 uassert_true(RT_FALSE);
300 goto __exit;
301 }
302 else
303 {
304 rt_kprintf("TCP server bound to 127.0.0.1:%d\n", port);
305 uassert_true(RT_TRUE);
306 }
307
308 /* listen socket */
309 if (lwip_listen(sock, 5) == -1)
310 {
311 rt_kprintf("TCP server listen failed\n");

Callers

nothing calls this directly

Calls 15

rt_mallocFunction · 0.85
rt_memsetFunction · 0.85
rt_kprintfFunction · 0.85
rt_event_sendFunction · 0.85
rt_freeFunction · 0.85
lwip_socketFunction · 0.50
lwip_setsockoptFunction · 0.50
lwip_bindFunction · 0.50
lwip_listenFunction · 0.50
lwip_acceptFunction · 0.50
lwip_getpeernameFunction · 0.50
lwip_selectFunction · 0.50

Tested by

no test coverage detected