<?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>How to send data from client to server?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/4019/how-to-send-data-from-client-to-server</link><description>Hi, 
 we can send data from server to client by sd_ble_gatts_hvx() in ble_app_hrs but: 
 1.How does the client receive those data? 
 2.How dose the client send data to server and how does the server receive the data? 
 3.Are all these transfer reliable</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 08 Oct 2014 07:07:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/4019/how-to-send-data-from-client-to-server" /><item><title>RE: How to send data from client to server?</title><link>https://devzone.nordicsemi.com/thread/14420?ContentTypeID=1</link><pubDate>Wed, 08 Oct 2014 07:07:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8afc6db0-f99b-41ea-b13b-ec2023e90da6</guid><dc:creator>Petter Myhre</dc:creator><description>&lt;ol&gt;
&lt;li&gt;The GATT client receives that data through an ATT Handle Value Notification, please see &lt;a href="https://devzone.nordicsemi.com/documentation/nrf51/6.0.0/s110/html/a00844.html"&gt;this&lt;/a&gt; MSC. See Bluetooth Specification 4.1, Vol. 3, Part G, Section 4.10, for details.&lt;/li&gt;
&lt;li&gt;The GATT client &amp;quot;sends&amp;quot; data to the GATT server using a write procedure, please see &lt;a href="https://devzone.nordicsemi.com/documentation/nrf51/6.0.0/s110/html/a00842.html"&gt;this&lt;/a&gt; MSC. See Bluetooth Specification 4.1, Vol. 3, Part G, Section 4.9, for details. The GATT server receives the data, and sends a &lt;code&gt;BLE_GATTS_EVT_WRITE&lt;/code&gt; event to the application, please see &lt;a href="https://devzone.nordicsemi.com/documentation/nrf51/6.0.0/s110/html/a00850.html"&gt;this&lt;/a&gt; MSC.&lt;/li&gt;
&lt;li&gt;In a connection, all packets will be acknowledged in the link layer. So that part is reliable, but you have to use the remaining layers (ATT, GATT and application) in the correct way as well.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/question/17399/how-to-give-response-after-client-writes-to-characteristic/"&gt;This question&lt;/a&gt; may also be helpful, explaining application level acknowledgement. Remember to &lt;a href="https://devzone.nordicsemi.com/blogs/4/why-should-i-vote/"&gt;vote&lt;/a&gt; on the question and the answer, if you find them useful.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/3343.Core_5F00_v4.1.pdf"&gt;Bluetooth Specification 4.1&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>