匿名本地网络实现进程间通信

#include "stdio.h"

#include "sys/socket.h"

#include "unistd.h"

 

int main()

{

    int s[2];

    socketpair(AF_LOCAL, SOCK_STREAM, 0, s);

    int n;

    char buf[100];

    if (fork()==0)

    {

        while ((n=read(s[0], buf, sizeof(buf)))>0)

        {

            int i;

            --n;

            for (i=0; i

            {

                char c = buf[i];

                buf[i] = buf[n-1-i];

                buf[n-1-i] = c;

            }

            write(s[0], buf, n+1);

        }

    }

    else

    {

        for(;;)

        {

            n = read(STDIN_FILENO, buf, sizeof(buf));

            if (buf[0] == ‘q‘)

            {

                break;

            }

            write(s[1], buf, n);

            n=read(s[1], buf, sizeof(buf));

            write(STDOUT_FILENO, buf, n);

        }

        close(s[1]);

    }

    return 0;

}

时间: 2024-10-29 05:12:20

匿名本地网络实现进程间通信的相关文章

CentOS 6.* 配置本地网络 yum源

CentOS 6.* 配置本地网络yum源 一台服务时只需要配一个本地的yum源即可:当需要配置多台服务器时,只需要配置1到2台vsftpd的yum源,其它服务器通过ftp连接yum源: 1 基于本地文件的yum源 1.1 下载镜像源 wget -b https://mirrors.aliyun.com/centos/6.10/isos/x86_64/CentOS-6.10-x86_64-bin-DVD1.iso tail -100f wget-log 1.2 挂载iso镜像文件 ll /mnt

openvpn实现分流,指定IP走VPN,其它走本地网络

最近研究了Openvpn好久.现在写一点心得出来. 客户需求:看香港某几个网站使用openvpn翻墙过去,其它所有访问不能用翻墙,要走本地. 系统环境: Centos x64位 6.8, 使用在线yum安装 一.服务器端配置 详细配置参考其它配置文档 [[email protected] openvpn]# rpm -qa | grep openvpn openvpn-2.3.11-1.el6.x86_64 生成ta.key文件,用于tls-auth认证. # openvpn --genkey

Docker 网络之pipework 工具(2)将Docker容器配置到本地网络环境中

为了使本地网络中的机器和Docker容器更方便的通信,我们经常会有将Docker容器配置到和主机同一网段的需求.这个需求其实很容易实现,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了.下面我们来操作一下,我主机A地址为192.168.1.107/24,网关为192.168.1.1,需要给Docker容器的地址配置为192.168.1.150/24.在主机A上做如下操作:安装pipework下载地址:wgethttps://github.com/jpetazz

Android ListView 和 Adapter 从本地/网络获取歌曲列表

本文内容 环境 项目结构 演示1:SimpleAdapter 演示2:BaseAdapter 演示3:customlazylist 演示4:customcompletelazylist 本文只给出演示概要,代码太多,贴出来意义不大,自己下载调试一下,点击此处下载. 本文通过四个示例,循序渐进地演示,将歌曲列表加载到 ListView 控件,歌曲列表,包括缩略图.歌手名.歌曲名等信息,或存放在本地,或以 JSON 形式存放在网络. 环境 Windows 2008 R2 64 位 Eclipse A

让本地网络与微软windows azure互通

导读:混合云可以说是未来的一个趋势,混合云的一个基本的要求就是本地网络要与公有云能够互通,这样就可以把公有云看作一个分支网络,实现统一的管理.这里我们就来看看怎样让本地网络与微软的windows azure互通,为了方便大家测试,我们只要求: l 当然要有一个windows azure测试账户 l 本地有一台能够上网的windows server 2012 R2服务器(虽然微软官方要求本地网络要有一个VPN设备直接放在公网,但我们这里让你没有这样的条件也可以,当然生产环境还是要遵从微软建议,这里

Android手机浏览器访问本地网络相关问题

为了测试开发的手机网站,常常需要使手机直接访问本地网络. 在这个过程中碰到几个问题,记下来供以后参考 1. 在本地主机运行apache后,使用localhost和127.0.0.1可以访问页面,但使用IP(即192.168.1.*)访问时得到403 解决:这是由于httpd.conf的安全限制导致.打开httpd.conf, 搜索127.0.0.1,注释Deny from all,增加一行Allow from 192.168.1.*.修改后的配置如下: #    # Controls who c

使用InternetGetConnectedState判断本地网络状态(C#举例)

函数原型:函数InternetGetConnectedState返回本地系统的网络连接状态. 语法: BOOL InternetGetConnectedState( __out LPDWORD lpdwFlags, __in DWORD dwReserved ); 参数: lpdwFlags[out] 指向一个变量,该变量接收连接描述内容.该参数在函数返回FLASE时仍可以返回一个有效的标记.该参数可以为下列值的一个或多个 值 含义 INTERNET_CONNECTION_CONFIGURED

Redhat6.4 配置本地网络的FTP YUM源

Redhat6.4 配置本地网络的FTP YUM源 如果本机IP: 192.168.8.47 (一) 配置本机的yum源 使用以下的方法能够配置本机的yum源: 1) scp命令上传ISO文件到: /opt/rhel-server-6.4-x86_64-dvd.iso 2) 挂载ISO到/mnt/repo文件夹# mount -t iso9660 -o loop /opt/rhel-server-6.4-x86_64-dvd.iso /mnt/repo 3) 创建repo文件(名字随意.repo

VPN拨号后使用本地网络上网

网络环境大概是这样了:我在家里用ADSL上网,通过VPN连接到公司的服务器.但是连接VPN后,只能登录到公司的服务器,与INTERNET就断开了,QQ.网页都断开了.公司的服务器应该是连网的,可能被限制了(服务器不归我管,不知道是什么设置),不用考虑在开放VPN的网络访问.但是我一般是在出现了BUG的时候才会在家里登录到公司服务器,而问题都是同事通过QQ之类的传给我的.所以只能是QQ走本地连接,处理BUG时走VPN. 在VPN上右键--属性,切换到网络标签 在TCP/IPv4项(现在一般都没用v