<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>通信 _ 扒房网</title>
	<atom:link href="https://www.gxjlyf.com/tag/%e9%80%9a%e4%bf%a1/feed" rel="self" type="application/rss+xml" />
	<link>https://www.gxjlyf.com</link>
	<description>手机系统教程_手机软件教程_手机app使用教程_电脑软件教程_电脑系统教程</description>
	<lastBuildDate>Sun, 27 Nov 2022 03:25:53 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>今天分享进程间通信有哪几种方式</title>
		<link>https://www.gxjlyf.com/863411.html</link>
		
		<dc:creator><![CDATA[bafang18]]></dc:creator>
		<pubDate>Sun, 27 Nov 2022 03:25:53 +0000</pubDate>
				<category><![CDATA[PC教程]]></category>
		<category><![CDATA[进程]]></category>
		<category><![CDATA[通信]]></category>
		<guid isPermaLink="false">https://www.chuwenyu.com/863411.html</guid>

					<description><![CDATA[进程间通信有哪几种方式？不同进程之间是会进行相互传播或交换信息的，很多伙伴都很好奇，各进程之间是通过什么介质进 ...]]></description>
										<content:encoded><![CDATA[<p><strong>进程间通信有哪几种方式？</strong>不同进程之间是会进行相互传播或交换信息的，很多伙伴都很好奇，各进程之间是通过什么介质进行通信的呢？今天小编就给大家科普下进程间通信的方法。</p>
<p><img decoding="async" alt="进程间通信有哪几种方式？进程间通信的方法详解" src="https://dz.cwhello.com/wp-content/uploads/2022/11/20221127032551-6382d8bf72292.jpg" /></p>
<p><strong>前言：</strong></p>
<p>进程间通信（IPC，Interprocess communication）是一组编程接口，让程序员能够协调不同的进程，使之能在一个操作系统里同时运行，并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求，也可能导致一个操作系统中多个进程的运行，进程之间必须互相通话。IPC接口就提供了这种可能性。每个IPC方法均有它自己的优点和局限性，一般，对于单个程序而言使用所有的IPC方法是不常见的。</p>
<p><strong>进程间通信的8种方法：</strong></p>
<p><strong>1、无名管道通信</strong></p>
<p>无名管道（ pipe ）：管道是一种半双工的通信方式，数据只能单向流动，而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。</p>
<p><strong>2、高级管道通信</strong></p>
<p>高级管道（popen）：将另一个程序当做一个新的进程在当前程序进程中启动，则它算是当前程序的子进程，这种方式我们成为高级管道方式。</p>
<p><strong>3、有名管道通信</strong></p>
<p>有名管道 （named pipe） ： 有名管道也是半双工的通信方式，但是它允许无亲缘关系进程间的通信。</p>
<p><strong>4、消息队列通信</strong></p>
<p>消息队列（ message queue ） ： 消息队列是由消息的链表，存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。</p>
<p><strong>5、信号量通信</strong></p>
<p>信号量（ semophore ） ： 信号量是一个计数器，可以用来控制多个进程对共享资源的访问。它常作为一种锁机制，防止某进程正在访问共享资源时，其他进程也访问该资源。因此，主要作为进程间以及同一进程内不同线程之间的同步手段。</p>
<p><strong>6、信号</strong></p>
<p>信号 （ sinal ） ： 信号是一种比较复杂的通信方式，用于通知接收进程某个事件已经发生。</p>
<p><strong>7、共享内存通信</strong></p>
<p>共享内存（ shared memory ） ：共享内存就是映射一段能被其他进程所访问的内存，这段共享内存由一个进程创建，但多个进程都可以访问。共享内存是最快的 IPC 方式，它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制，如信号两，配合使用，来实现进程间的同步和通信。</p>
<p><strong>8、套接字通信</strong></p>
<p>套接字（ socket ） ： 套接口也是一种进程间通信机制，与其他通信机制不同的是，它可用于不同机器间的进程通信。</p>
<p>之前写过一个课程设计：基于Internet的Linux客户机/服务器系统通讯设计与实现</p>
<p>是利用sock通信实现的，可以参考一下。</p>
<p>通信过程如下：</p>
<p>8.1命名socket</p>
<p>SOCK_STREAM 式本地套接字的通信双方均需要具有本地地址，其中服务器端的本地地址需要明确指定，指定方法是使用 struct sockaddr_un 类型的变量。</p>
<p>8.2 绑定</p>
<p>SOCK_STREAM 式本地套接字的通信双方均需要具有本地地址，其中服务器端的本地地址需要明确指定，指定方法是使用 struct sockaddr_un 类型的变量，将相应字段赋值，再将其绑定在创建的服务器套接字上，绑定要使用 bind 系统调用，其原形如下：</p>
<p>01int bind(int socket, const struct sockaddr *address, size_t address_len);复制代码int bind(int socket, const struct sockaddr *address, size_t address_len);</p>
<p>其中 socket表示服务器端的套接字描述符，address 表示需要绑定的本地地址，是一个 struct sockaddr_un 类型的变量，address_len 表示该本地地址的字节长度。</p>
<p>8.3 监听</p>
<p>服务器端套接字创建完毕并赋予本地地址值（名称，本例中为Server Socket）后，需要进行监听，等待客户端连接并处理请求，监听使用 listen 系统调用，接受客户端连接使用accept系统调用，它们的原形如下：</p>
<p>01int listen(int socket, int backlog);02int accept(int socket, struct sockaddr *address, size_t *address_len);复制代码int listen(int socket, int backlog);int accept(int socket, struct sockaddr *address, size_t *address_len);</p>
<p>其中 socket 表示服务器端的套接字描述符；backlog 表示排队连接队列的长度（若有多个客户端同时连接，则需要进行排队）；address 表示当前连接客户端的本地地址，该参数为输出参数，是客户端传递过来的今天说说自身的信息；address_len 表示当前连接客户端本地地址的字节长度，这个参数既是输入参数，又是输出参数。</p>
<p>8.4 连接服务器</p>
<p>客户端套接字创建完毕并赋予本地地址值后，需要连接到服务器端进行通信，让服务器端为其提供处理服务。</p>
<p>对于SOCK_STREAM类型的流式套接字，需要客户端与服务器之间进行连接方可使用。连接要使用 connect 系统调用，其原形为</p>
<p>01int connect(int socket, const struct sockaddr *address, size_t address_len);复制代码int connect(int socket, const struct sockaddr *address, size_t address_len);</p>
<p>其中socket为客户端的套接字描述符，address表示当前客户端的本地地址，是一个 struct sockaddr_un 类型的变量，address_len 表示本地地址的字节长度。实现连接的代码如下：</p>
<p>01connect(client_sockfd, (struct sockaddr*)&amp;client_address, sizeof(client_address));复制代码connect(client_sockfd, (struct sockaddr*)&amp;client_address, sizeof(client_address));</p>
<p>8.5 相互发送接收数据</p>
<p>无论客户端还是服务器，都要和对方进行数据上的交互，这种交互也正是我们进程通信的主题。一个进程扮演客户端的角色，另外一个进程扮演服务器的角色，两个进程之间相互发送接收数据，这就是基于本地套接字的进程通信。发送和接收数据要使用 write 和 read 系统调用，它们的原形为：</p>
<p>01int read(int socket, char *buffer, size_t len);02int write(int socket, char *buffer, size_t len);复制代码int read(int socket, char *buffer, size_t len);int write(int socket, char *buffer, size_t len);</p>
<p>其中 socket 为套接字描述符；len 为需要发送或需要接收的数据长度；</p>
<p>对于 read 系统调用，buffer 是用来存放接收数据的缓冲区，即接收来的数据存入其中，是一个输出参数；</p>
<p>对于 write 系统调用，buffer 用来存放需要发送出去的数据，即 buffer 内的数据被发送出去，是一个输入参数；返回值为已经发送或接收的数据长度。</p>
<p>8.6 断开连接</p>
<p>交互完成后，需要将连接断开以节省资源，使用close系统调用，其原形为：</p>
<p>01int close(int socket);复制代码int close(int socket);</p>
<p>今天说说进程间通信的方法就给大家讲解到这里了，对于进程充满好奇心的伙伴，可以仔细看看小编整理的以上内容哦！</p>

<p><img src="https://www.gxjlyf.com/postviews/863411.png" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>通信行程卡怎么更换手机号码。</title>
		<link>https://www.gxjlyf.com/318250.html</link>
		
		<dc:creator><![CDATA[bafang18]]></dc:creator>
		<pubDate>Thu, 05 May 2022 14:19:24 +0000</pubDate>
				<category><![CDATA[安卓教程]]></category>
		<category><![CDATA[手机号码]]></category>
		<category><![CDATA[行程]]></category>
		<category><![CDATA[通信]]></category>
		<guid isPermaLink="false">https://www.chuwenyu.com/318250.html</guid>

					<description><![CDATA[通信行程卡怎么更换手机号码？通信行程卡能够实时的反应大家在最近十四天的旅居行程，查询方法简单，绑定的手机号也能 ...]]></description>
										<content:encoded><![CDATA[<p>通信行程卡怎么更换手机号码？通信行程卡能够实时的反应大家在最近十四天的旅居行程，查询方法简单，绑定的手机号也能更换，下面小编就给大家带来了详细的通信行程卡手机号码更换方法，感兴趣的小伙伴快来扒房网了解一下吧！</p>
<h3>通信行程卡手机号码更换方法介绍</h3>
<p>1、打开微信app，在搜索框输入通信行程卡小程序并点击进入。</p>
<p><img fetchpriority="high" decoding="async" alt="通信行程卡怎么更换手机号码" src="https://dz.cwhello.com/wp-content/uploads/2022/05/20220505141922-6273dcead52b9.jpg" width="600" height="450" /></p>
<p>2、输入要更改的手机号和手机验证码，点击查询即可看到新的行程数据。</p>
<p><img decoding="async" alt="通信行程卡怎么更换手机号码" src="https://dz.cwhello.com/wp-content/uploads/2022/05/20220505141922-6273dceae8abf.jpg" width="600" height="450" /></p>
<p>小编带来的相关介绍给大家解决这些疑惑了吗？感兴趣的用户们快来扒房网吧。</p>

<p><img src="https://www.gxjlyf.com/postviews/318250.png" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>通信大数据行程卡可以修改地址吗。</title>
		<link>https://www.gxjlyf.com/312382.html</link>
		
		<dc:creator><![CDATA[bafang18]]></dc:creator>
		<pubDate>Tue, 03 May 2022 12:41:59 +0000</pubDate>
				<category><![CDATA[安卓教程]]></category>
		<category><![CDATA[地址]]></category>
		<category><![CDATA[行程]]></category>
		<category><![CDATA[通信]]></category>
		<guid isPermaLink="false">https://www.chuwenyu.com/312382.html</guid>

					<description><![CDATA[通信大数据行程卡可以修改地址吗？通信大数据行程卡用于帮助用户证明自己最近去过的地区，今天扒房网小编就为大家介绍 ...]]></description>
										<content:encoded><![CDATA[<p>通信大数据行程卡可以修改地址吗？通信大数据行程卡用于帮助用户证明自己最近去过的地区，今天扒房网小编就为大家介绍行程卡修改定位城市详细介绍，想要了解的小伙伴快来看一下吧。</p>
<h3>行程卡可以修改定位城市吗</h3>
<p>行程卡不能修改城市，行程卡是专为新冠疫情排查打造的程序，任何人无权限修改行程城市信息，但是可以查看自己14天内到过哪些城市，具体操作步骤如下：</p>
<p>1、微信搜索并进入通信行程卡小程序。</p>
<p><img decoding="async" alt="通信大数据行程卡可以修改地址吗" src="https://dz.cwhello.com/wp-content/uploads/2022/05/20220503124157-62712315c62db.jpg" /></p>
<p>2、登录账号后即可查看自己的行程信息。</p>
<p><img decoding="async" alt="通信大数据行程卡可以修改地址吗" src="https://dz.cwhello.com/wp-content/uploads/2022/05/20220503124158-6271231600c3b.jpg" /><img decoding="async" alt="通信大数据行程卡可以修改地址吗" src="https://dz.cwhello.com/wp-content/uploads/2022/05/20220503124158-627123162c48e.jpg" /></p>
<p>上文就是小编带来的相关信息了，大家觉得可以帮助自己处理这些问题吗？喜欢的朋友们就来扒房网收看更多的内容吧。</p>

<p><img src="https://www.gxjlyf.com/postviews/312382.png" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>通信行程卡崩了如何处理。</title>
		<link>https://www.gxjlyf.com/297428.html</link>
		
		<dc:creator><![CDATA[bafang18]]></dc:creator>
		<pubDate>Fri, 22 Apr 2022 15:55:09 +0000</pubDate>
				<category><![CDATA[安卓教程]]></category>
		<category><![CDATA[如何处理]]></category>
		<category><![CDATA[行程]]></category>
		<category><![CDATA[通信]]></category>
		<guid isPermaLink="false">https://www.chuwenyu.com/297428.html</guid>

					<description><![CDATA[通信行程卡可以查看到的防疫二维码，但是近期疫情又爆发了，估计还有很多朋友都很疑惑通信行程卡崩了如何处理，下文就 ...]]></description>
										<content:encoded><![CDATA[<p>通信行程卡可以查看到的防疫二维码，但是近期疫情又爆发了，估计还有很多朋友都很疑惑通信行程卡崩了如何处理，下文就是小编为大家我来教你的解决行程卡崩了方法讲解，想要快速解决这个问题的玩家们快来这里参考一下。</p>
<h3>解决行程卡崩了方法讲解</h3>
<p>出错页面如下图所示，据信通院官方发布紧急通知称，这是由于近日行程卡查询量突增，系统服务压力不断增大导致的，并表示正在全力优化，保障稳定运行。</p>
<p><img decoding="async" alt="通信行程卡崩了如何处理" src="https://dz.cwhello.com/wp-content/uploads/2022/04/20220422155507-6262cfdb479a4.png" width="426" height="769" /></p>
<p>当行程卡网页版、微信小程序或App中遇到网络错误等服务不稳定的情况，为不影响出行，用户们可以使用短信进行查询，方法为：发送短信“CXMYD”到所属运营商(电信10001/移动10086/联通10010)就能查询自己出行记录。</p>
<p><img decoding="async" alt="通信行程卡崩了如何处理" src="https://dz.cwhello.com/wp-content/uploads/2022/04/20220422155507-6262cfdb896e6.png" width="434" height="603" /></p>
<p>具体步骤：</p>
<p>1、发送CXMYD到所属运营商。</p>
<p><img decoding="async" alt="通信行程卡崩了如何处理" src="https://dz.cwhello.com/wp-content/uploads/2022/04/20220422155507-6262cfdbd0c10.png" width="401" height="857" /></p>
<p>2、在收到如下短信后根据提示发送身份证后四位。</p>
<p><img decoding="async" alt="通信行程卡崩了如何处理" src="https://dz.cwhello.com/wp-content/uploads/2022/04/20220422155508-6262cfdc21398.png" width="394" height="681" /></p>
<p>3、最后用户们就可以收到如下图所示的行程信息。</p>
<p><img decoding="async" alt="通信行程卡崩了如何处理" src="https://dz.cwhello.com/wp-content/uploads/2022/04/20220422155508-6262cfdc6647e.png" width="391" height="386" /></p>
<p>喜欢小编带来的相关介绍吗？喜欢的话就请大家多多关注扒房网。</p>

<p><img src="https://www.gxjlyf.com/postviews/297428.png" /></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
