VxWorks中实现TCP/IP通信的示例代码

作者:佚名 上传时间:2023-03-18 运行软件:C语言编写 软件版本:VxWorks 7.0 版权申诉

此示例代码展示了如何在VxWorks中实现TCP/IP通信,包括创建服务器和客户端,建立TCP连接并进行数据传输。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/socket.h>

#define SERVER_PORT 8888
#define MAX_MSG_LEN 1024

void server() {
    int listener = socket(AF_INET, SOCK_STREAM, 0);
    if(listener < 0) {
        perror("socket error");
        return;
    }

    struct sockaddr_in server_addr;
    memset(&server_addr, 0, sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    server_addr.sin_port = htons(SERVER_PORT);

    if(bind(listener, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
        perror("bind error");
        return;
    }

    if(listen(listener, 5) < 0) {
        perror("listen error");
        return;
    }

    printf("waiting for client...\n");
    struct sockaddr_in client_addr;
    socklen_t client_addr_len = sizeof(client_addr);
    int client_sock = accept(listener, (struct sockaddr *)&client_addr, &client_addr_len);
    if(client_sock < 0) {
        perror("accept error");
        return;
    }

    char buffer[MAX_MSG_LEN+1];
    memset(buffer, 0, sizeof(buffer));
    int len = recv(client_sock, buffer, sizeof(buffer), 0);
    if(len > 0) {
        printf("receive message from client: %s\n", buffer);
    }
    close(client_sock);
    close(listener);
}

void client() {
    int sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if(sockfd < 0) {
        perror("socket error");
        return;
    }

    struct sockaddr_in server_addr;
    memset(&server_addr, 0, sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
    server_addr.sin_port = htons(SERVER_PORT);

    if(connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
        perror("connect error");
        return;
    }

    char *message = "Hello from client";
    if(send(sockfd, message, strlen(message), 0) < 0) {
        perror("send error");
        return;
    }
    close(sockfd);
}

int main(int argc, char *argv[]) {
    if(argc < 2) {
        printf("usage: %s <server|client>\n", argv[0]);
        return -1;
    }
    if(strcmp(argv[1], "server") == 0) {
        server();
    } else if(strcmp(argv[1], "client") == 0) {
        client();
    } else {
        printf("invalid argument\n");
        return -1;
    }
    return 0;
}

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
VxWorks实现TCP/IP通信示例代码
此示例代码展示了如何在VxWorks中实现TCP/IP通信,包括创建服务器和客户端,建立TCP连接并进行数据传输。#include <stdio.h>#include <stdl
VxWorks 7.0
C语言编写
2023-03-18 11:43
使用vxWorks实现TCP/IP通信示例代码
此示例代码演示如何使用vxWorks操作系统实现TCP/IP通信。它包括创建不同类型的套接字、绑定套接字、监听套接字、接受连接请求等基本操作。#include <vxWorks.h>#
vxWorks 6.6
vxWorks操作系统
2023-03-17 12:03
VxWorks实现TCP/IP网络通信示例代码
本示例代码演示了如何在VxWorks中使用套接字实现TCP/IP网络通信,主要实现了服务器和客户端之间的消息交互。通过设置网络参数、创建套接字、绑定和监听端口等操作,实现了基础的通信功能。同时,该示例
VxWorks 7.0.0.7
Wind River Systems
2023-05-30 03:16
VxWorksTCP/IP通信示例代码
这是一段使用VxWorks实现TCP/IP通信的示例代码,主要使用了VxWorks中提供的套接字库函数。代码中包括了建立TCP连接、发送数据和接收数据等操作。#include <stdio.h
VxWorks 6.9
VxWorks套接字库函数
2023-03-24 08:53
使用VxWorks实现TCP/IP通信
该示例代码演示了如何使用VxWorks操作系统实现TCP/IP通信,包括创建socket、建立连接、发送和接收数据等操作。/* 创建socket */int sockfd = socket(AF_
VxWorks 7.0
C语言
2023-03-24 13:28
VxWorks实现TCP通信示例代码
本示例展示如何在VxWorks中实现基于TCP协议的通信,通过建立客户端和服务端的连接,并成功传输数据。// VxWorks TCP通信示例代码#include \<stdio.h>
VxWorks 6.9
C语言
2023-04-27 15:45
Lua实现TCP/IP通信示例代码
该示例代码演示了如何使用Lua实现TCP/IP通信,包括建立连接、发送和接收数据等操作。-- 导入socket模块local socket = require("socket"
Lua 5.3
Lua
2023-03-18 14:27
Python实现TCP/IP通信示例代码
本示例代码演示了如何使用Python实现TCP/IP通信,包括建立连接、发送消息、接收消息等操作。# 导入socket库import socket# 创建一个socket对象s = sock
Python 3.8.2
Python
2023-03-21 00:10
Python实现TCP通信示例代码
Python实现TCP通信的示例代码
PDF
63.94 KB
2020-09-29 11:13
Pythontcp/ip通信示例代码
该示例代码展示了使用Python编写tcp/ip通信的过程,实现了服务器与客户端之间的通信。# 服务器端代码import socketserver_socket = socket.socket
Python 3.x
Python
2023-05-27 23:45