I want to create server and client in nrf9160 not through LTE. only transmit on locally in nrf9160
//prj.conf
# enable libs
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
CONFIG_FPU=y
# -Og debug
CONFIG_DEBUG=y
# enable device
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_I2C=y
# pthread using
#CONFIG_POSIX_API=y
#CONFIG_PTHREAD_IPC=y
#CONFIG_POSIX_MQUEUE=y
# Network driver config
CONFIG_TEST_RANDOM_GENERATOR=y
# networking
CONFIG_NETWORKING=y
CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=y
CONFIG_NET_TCP=y
CONFIG_NET_UDP=y
CONFIG_NET_CONNECTION_MANAGER=y
# Sockets
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y
CONFIG_POSIX_MAX_FDS=6
# Packet socket configuration
CONFIG_NET_SOCKETS_PACKET=y
# Enable the DNS resolver
CONFIG_DNS_RESOLVER=y
//main.c
int err;
int opt_val;
int socketfd;
struct ifreq ifr;
struct sockaddr_in server_addr = {0};
socketfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//socketfd = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (socketfd < 0)
{
printk("Could not create server_addr socket: %s\n", strerror(errno));
}
opt_val = 1;
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htonl(INADDR_ANY); //remote connect
//server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); //local connect
server_addr.sin_port = htons(4242);
err = setsockopt(socketfd, SOL_SOCKET, SO_REUSEADDR, (const char *)&opt_val, sizeof(opt_val));
if (err < 0)
{
printk("Could not setsockopt: %s\n", strerror(errno));
}
err = bind(socketfd, (struct sockaddr*)&server_addr, sizeof(server_addr));
if (err < 0)
{
printk("Could not bind server_addr socket: %s\n", strerror(errno));
}
/////////////////////////////////
why bind error, should i create iface in vlan?