FreeRTOS_sockets.h
Socket_t FreeRTOS_socket( BaseType_t xDomain, BaseType_t xType, BaseType_t xProtocol );
创建 TCP 或 UDP 套接字。
请参阅 FreeRTOS-Plus-TCP 联网教程
获取有关使用 TCP 和 UDP 套接字的更多信息。
参数:
xDomain
|
设置为 FREERTOS_AF_INET 以创建使用 IPv4 地址系列的套接字。
设置为 FREERTOS_AF_INET6 以创建使用 IPv6 地址系列的套接字。
其他值无效。
|
xType
|
设置为 FREERTOS_SOCK_STREAM 以创建 TCP 套接字。
设置为 FREERTOS_SOCK_DGRAM 以创建 UDP 套接字。
其他值无效。
|
xProtocol
|
设置为 FREERTOS_IPPROTO_TCP 以创建 TCP 套接字。
设置为 FREERTOS_IPPROTO_UDP 以创建 UDP 套接字。
其他值无效。
|
返回:
如果成功创建套接字,则返回套接字句柄。 如果
没有足够的 FreeRTOS 堆内存供待创建的套接字使用,
则返回 FREERTOS_INVALID_SOCKET。
用法示例:
以下代码片段分别展示了如何创建 UDP 和 TCP 套接字
。
#include "FreeRTOS_sockets.h"
void aFunction( void )
{
Socket_t xSocket;
struct freertos_sockaddr xBindAddress;
xSocket = FreeRTOS_socket( FREERTOS_AF_INET,
FREERTOS_SOCK_DGRAM,
FREERTOS_IPPROTO_UDP );
if( xSocket != FREERTOS_INVALID_SOCKET )
{
xBindAddress.sin_port = FreeRTOS_htons( 9999 );
if( FreeRTOS_bind( xSocket, &xBindAddress, sizeof( &xBindAddress ) ) == 0 )
{
}
}
else
{
}
}
使用 FreeRTOS_socket() API 函数创建 UDP 套接字的示例
#include "FreeRTOS_sockets.h"
void aFunction( void )
{
Socket_t xSocket;
struct freertos_sockaddr xBindAddress;
xSocket = FreeRTOS_socket( FREERTOS_AF_INET,
FREERTOS_SOCK_STREAM,
FREERTOS_IPPROTO_TCP );
if( xSocket != FREERTOS_INVALID_SOCKET )
{
}
else
{
}
}
使用 FreeRTOS_socket() API 函数创建 TCP 套接字的示例
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.