VxWorks中实现Socket通信的示例代码

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

该示例代码演示了如何在VxWorks实现Socket通信。通过创建Socket、绑定IP地址、端口号和监听客户端请求,实现了TCP服务器的搭建,同时也展示了如何创建并连接TCP客户端。

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

#define SOCKET_PORT  9000
#define MAX_BUFF     1024

int main()
{
    // 创建Socket
    int sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd == -1) {
        printf("Create socket error!\n");
        return -1;
    }

    // 设置服务器IP地址和端口号
    struct sockaddr_in srv_addr;
    bzero(&srv_addr,sizeof(srv_addr));
    srv_addr.sin_family = AF_INET;
    srv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    srv_addr.sin_port = htons(SOCKET_PORT);

    // 绑定Socket
    if (bind(sockfd, (struct sockaddr *)&srv_addr, sizeof(struct sockaddr)) == -1) {
        printf("Bind socket error!\n");
        close(sockfd);
        return -1;
    }

    // 监听客户端请求
    if (listen(sockfd, 10) == -1) {
        printf("Listen socket error!\n");
        close(sockfd);
        return -1;
    }

    // 接受客户端请求,并发送回应
    printf("Server is listening...\n");
    while(1) {
        struct sockaddr_in clt_addr;
        socklen_t len = sizeof(clt_addr);
        int cltfd = accept(sockfd, (struct sockaddr *)&clt_addr, &len);
        if (cltfd == -1) {
            printf("Accept socket error!\n");
            continue;
        }

        printf("Client %s:%d is connected!\n", inet_ntoa(clt_addr.sin_addr), ntohs(clt_addr.sin_port));
        char buff[MAX_BUFF] = {0};
        snprintf(buff, MAX_BUFF, "Server response!");
        send(cltfd, buff, strlen(buff), 0);
        close(cltfd);
    }

    return 0;
}

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

用户评论
相关推荐
VxWorks实现Socket通信示例代码
该示例代码演示了如何在VxWorks实现Socket通信。通过创建Socket、绑定IP地址、端口号和监听客户端请求,实现了TCP服务器的搭建,同时也展示了如何创建并连接TCP客户端。#includ
VxWorks 7.0
C语言编写
2023-05-22 15:44
VxWorks操作系统实现socket通信示例代码
本示例代码演示了如何在VxWorks操作系统中通过TCP/IP协议实现socket通信。代码使用了socket接口中的bind、listen、accept、send、recv等函数实现了一个简单的服务
VxWorks 6.9
C编译器
2023-04-09 16:03
python实现socket简单通信示例代码
首先先来简单介绍下socket:,这里主要是我自己的一些理解。这里再贴上关于socket工作原理的具体图像:大家若有看不懂的,也先别着急,看完下面的再来结合这张图理解会有更深的理解其实在本机上,我们可
pdf
346.64 KB
2021-06-05 02:43
API实现socket通信示例
socket的基本应用,针对初学者,老鸟们可以掠过。本示例采用Delphi2010编写
RAR
0B
2019-09-29 14:24
VxWorks 嵌入式系统下实现 socket 通信示例代码
本示例代码展示了在 VxWorks 嵌入式系统下如何通过 TCP/IP 协议栈实现 socket 通信。具体实现方式涉及 socket 接口、IP 地址、端口号等方面内容。#include <
VxWorks 7.0
VxWorks 实时操作系统
2023-04-22 20:07
C#Socket实现UDP协议通信示例代码
本篇文章主要介绍了C#的Socket实现UDP协议通信示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
PDF
68KB
2020-09-11 12:14
QNX实现socket通信示例代码
该示例代码展示了如何在QNX操作系统中使用socket进行网络通信,包括创建socket、绑定端口、监听连接请求、接收和发送数据等操作。实现方式为使用C语言函数库实现网络通信功能。#include
QNX 7.0
C语言
2023-05-27 03:37
Java实现简单Socket通信示例
TCP 还需要处理端到端之间的流量控制。UDP 是一种无连接的,不可靠的数据报协议。发送方不需要与接收方建立连接,通信双方通过发送一个个独立的数据报来进行通讯。TCP 通过序列号、确认应答、数据校验等
pdf
109.08 KB
2021-07-27 07:58
VxWorks实现UDP通信示例代码
该示例代码演示了如何在VxWorks操作系统中通过UDP协议进行通信,包括创建socket、绑定地址、发送和接收数据等操作。/* 创建socket */int socketFd = socket(
VxWorks 6.9
Wind River
2023-03-22 16:22
VxWorks实现串口通信示例代码
这段示例代码演示了在VxWorks操作系统中如何通过串口进行通信的方法。实现方式是通过常用的串口API函数来操作串口资源。#include <vxWorks.h>#include &l
VxWorks 6.7
C语言编写
2023-03-25 14:13