QNX下实现socket通信的示例代码

作者:佚名 上传时间:2023-05-29 运行软件:C语言 软件版本:QNX 7.1 版权申诉

该示例代码展示了如何在QNX操作系统下实现两个进程之间的socket通信,并实现了基本的客户端和服务器端的功能。

// 客户端代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#define PORT 8888

int main(int argc, char *argv[])
{
    int client_fd;
    struct sockaddr_in server_addr;
    char buffer[1024] = {0};

    // 创建socket连接
    if ((client_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        printf("create socket failed\n");
        return -1;
    }

    memset(&server_addr, 0, sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(PORT);
    server_addr.sin_addr.s_addr = inet_addr(argv[1]);

    // 连接服务器
    if (connect(client_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
        printf("connect server failed\n");
        return -1;
    }

    // 发送消息
    strncpy(buffer, "hello world", strlen("hello world"));
    send(client_fd, buffer, strlen(buffer), 0);

    // 接收服务器返回的消息
    memset(buffer, 0, sizeof(buffer));
    recv(client_fd, buffer, 1024, 0);
    printf("server response: %s\n", buffer);

    close(client_fd);

    return 0;
}

// 服务器端代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#define PORT 8888

int main()
{
    int server_fd, client_fd;
    struct sockaddr_in server_addr, client_addr;
    int client_addr_len = sizeof(client_addr);
    char buffer[1024] = {0};

    // 创建socket连接
    if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        printf("create socket failed\n");
        return -1;
    }

    memset(&server_addr, 0, sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(PORT);
    server_addr.sin_addr.s_addr = INADDR_ANY;

    // 绑定socket地址
    if (bind(server_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
        printf("bind socket failed\n");
        return -1;
    }

    // 监听socket连接
    if (listen(server_fd, 5) < 0) {
        printf("listen socket failed\n");
        return -1;
    }

    // 接收客户端连接
    if ((client_fd = accept(server_fd, (struct sockaddr *)&client_addr, &client_addr_len)) < 0) {
        printf("accept client failed\n");
        return -1;
    }

    // 接收客户端发送的消息
    memset(buffer, 0, sizeof(buffer));
    recv(client_fd, buffer, 1024, 0);
    printf("client message: %s\n", buffer);

    // 发送消息给客户端
    strncpy(buffer, "receive client message", strlen("receive client message"));
    send(client_fd, buffer, strlen(buffer), 0);

    close(server_fd);
    close(client_fd);

    return 0;
}

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

用户评论
相关推荐
QNX实现socket通信示例代码
该示例代码展示了如何在QNX操作系统下实现两个进程之间的socket通信,并实现了基本的客户端和服务器端的功能。// 客户端代码#include <stdio.h>#include
QNX 7.1
C语言
2023-05-29 04:22
QNX使用Socket通信示例代码
本示例代码展示了在QNX操作系统下使用Socket实现进程间通信(IPC)的方法。具体实现方式是通过建立一个服务器进程和一个客户端进程,采用TCP/IP通信方式进行进程间消息的传递。/*服务器端代码
QNX 6.5
C语言
2023-04-21 12:53
QNX使用SOCKET实现TCP/IP通信示例代码
该示例代码演示了在QNX操作系统下使用SOCKET库函数实现TCP/IP通信的方法,通过调用socket创建套接字,bind绑定IP地址和端口号,listen监听连接请求,accept接受连接请求,s
QNX 7.0
C语言
2023-05-22 19:15
QNX实现socket通信示例代码
该示例代码展示了如何在QNX操作系统中使用socket进行网络通信,包括创建socket、绑定端口、监听连接请求、接收和发送数据等操作。实现方式为使用C语言函数库实现网络通信功能。#include
QNX 7.0
C语言
2023-05-27 03:37
QNX平台上实现Socket通信示例代码
本示例代码演示了在QNX平台上如何使用Socket实现进程间通信,使用简单的TCP协议建立通信连接,并且使用多线程实现并发通信。通过本示例代码,用户可以学习如何实现在QNX平台上使用Socket进行进
QNX 6.6
C语言(gcc编译器)
2023-04-29 14:07
python实现socket简单通信示例代码
首先先来简单介绍下socket:,这里主要是我自己的一些理解。这里再贴上关于socket工作原理的具体图像:大家若有看不懂的,也先别着急,看完下面的再来结合这张图理解会有更深的理解其实在本机上,我们可
pdf
346.64 KB
2021-06-05 02:43
QNX实现串口通信示例代码
该示例代码展示了如何在QNX系统下通过串口进行通信,使用了QNX提供的头文件和函数。通信协议为RS232。#include <stdio.h> #include <sys/
QNX 7.0
QNX Neutrino Realtime OS
2023-05-10 18:46
Qt使用Udp socket通信简单代码示例
资源内包含客户端与服务端,并配有简要说明,代码也很简单,根据此代码可以清楚的了解Qt下Udp的通讯过程
ZIP
9KB
2020-07-27 07:04
QNX实时操作系统Socket通信示例
本示例展示了在QNX实时操作系统上使用Socket进行通信的简单方法。通过创建一个基于TCP的服务器和客户端,演示了两个QNX节点之间的消息传递。该示例强调了QNX的实时性和稳定性。// QNX S
QNX Neutrino RTOS 7.0
C语言
2023-12-08 01:21
QNX中使用socket实现TCP/IP通信示例代码
本示例代码演示了在QNX操作系统上使用socket实现TCP/IP通信的方法,通过监听端口和接收数据实现了简单的网络通信。#include <netinet/in.h>#include
QNX Neutrino RTOS 7.0
C语言
2023-03-25 02:39