<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>central , server  master vs peripheral, client, slave</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/12708/central-server-master-vs-peripheral-client-slave</link><description>Hi
When using BLE events i&amp;#39;m usually confused which event to handle , for example GATTS_WRITE or GATTC_WRITE.. i don&amp;#39;t know which is the server and the client ? 
 Any idea to differenciate between them ?
I tested some apps and i read some documents</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 22 Mar 2016 10:30:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/12708/central-server-master-vs-peripheral-client-slave" /><item><title>RE: central , server  master vs peripheral, client, slave</title><link>https://devzone.nordicsemi.com/thread/48264?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 10:30:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29d4155c-254a-44ca-a310-cf022c15e343</guid><dc:creator>Punit</dc:creator><description>&lt;p&gt;Within a server, you can implement Read &amp;amp; Write characteristics, i.e your client can send data to a write characteristic &amp;amp; read data from a read characteristic.&lt;/p&gt;
&lt;p&gt;For example,in case of a heart rate service, you can read the heart beat value, but cannot write on it.
Also, there are various ways with which characteristics can be read or written into..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: central , server  master vs peripheral, client, slave</title><link>https://devzone.nordicsemi.com/thread/48263?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 09:38:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0a49d277-d38a-4b58-b3cd-e043d4cc4e1d</guid><dc:creator>ToTo</dc:creator><description>&lt;p&gt;Hi Punit,&lt;/p&gt;
&lt;p&gt;Ok , i understand that, the central (let&amp;#39;s say, Master control) is the one who asks for BLE connection. the peripheral (let&amp;#39;s say evaluation Kit ) is the one accepts this connection.  Refering to what you said, the MC is the client here. But , i implemented a characteristic, and after connection establishement, if the master control sends &amp;quot;write command &amp;quot; on that cjaracteristic the Evaluation Kit gets it as BLE_GATTS_EVT_WRITE.. That means MC is the server and not the client !!!
Any idea ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: central , server  master vs peripheral, client, slave</title><link>https://devzone.nordicsemi.com/thread/48265?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 09:33:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:78599637-b216-4dc9-b25a-b1c82ea2c993</guid><dc:creator>Sensors</dc:creator><description>&lt;p&gt;What you&amp;#39;re talking about is two different sets of roles really...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GAP roles: Devices are either a Central (master) or a Peripheral (slave).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Centrals initiate the connections to the Peripherals. For example, your phone may act as a central to a bluetooth speaker (it initiates the bond).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GATT roles: Devices are Clients or Servers.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Clients are the users of the connected devices, who act as the servers. i.e. a bluetooth sensor (server)would serve data to the connect phone (client).&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s a good page with more explanation: &lt;a href="https://punchthrough.com/bean/guides/everything-else/how-gap-and-gatt-work/"&gt;punchthrough.com/.../&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And another related post: &lt;a href="https://devzone.nordicsemi.com/question/232/what-is-a-client-and-server-in-ble/"&gt;devzone.nordicsemi.com/.../&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: central , server  master vs peripheral, client, slave</title><link>https://devzone.nordicsemi.com/thread/48262?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 09:23:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:495a01c4-6b03-4376-831e-db1aac2dff93</guid><dc:creator>Punit</dc:creator><description>&lt;p&gt;Your Mobile is generally a GAP &lt;strong&gt;Central&lt;/strong&gt; &amp;amp; your device[say smart sensor] is the GAP &lt;strong&gt;Peripheral&lt;/strong&gt; at the time of establishing connection[adversitement].&lt;/p&gt;
&lt;p&gt;Once the connection is established, we denote them by GATT &lt;strong&gt;Client&lt;/strong&gt; &amp;amp; GATT &lt;strong&gt;Server&lt;/strong&gt; respectively.&lt;/p&gt;
&lt;p&gt;Master &amp;amp; Slave is just another way of saying the same.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;client&lt;/strong&gt; always asks for info from the &lt;strong&gt;server.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I hope this helps...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>