在日常的學習,、工作、生活中,,肯定對各類范文都很熟悉吧,。范文書寫有哪些要求呢?我們怎樣才能寫好一篇范文呢,?下面是小編幫大家整理的優(yōu)質范文,,僅供參考,大家一起來看看吧,。
php如何開發(fā)app篇一
很多社交軟件都是用了一種秒發(fā)機制,,讓用戶的體檢感很好,今天我們也來談談這些社交軟件中常用的小技巧,。就跟隨百分網小編一起去了解下吧,,想了解更多相關信息請持續(xù)關注我們應屆畢業(yè)生考試網!
想象一下,我們平常發(fā)朋友圈的時候,,n張圖片配上文字,,嗖的一下就發(fā)出去了,不帶任何拖泥帶水的那種,,體驗感覺好爽~,。
但是我們停下來用技術手段思考一下,這可能嗎,?有些2g網絡最多也就幾十k網速,,我們的圖片隨便一張都幾m,即使壓縮過也有幾百k,,怎么可能瞬間發(fā)出消息呢,?
現(xiàn)在想想,是不是有些詭異呢~
其實吧,,眾多社交軟件(微博,,微信)都是用了一種秒發(fā)機制。他并不是真的先去發(fā)送然后發(fā)送完畢再告訴你發(fā)送成功,,而是直接告訴你發(fā)送成功,,然后后臺再偷偷去上傳你發(fā)的東西,所以在網速不好的時候我們會經常發(fā)現(xiàn)一個現(xiàn)象,,剛開始發(fā)出的朋友圈剛開始很正常,,但是過了幾分鐘后,提示我們發(fā)送失??!這很很尷尬啊,明明剛開始你什么也沒說啊,,到了最關鍵的時候你告訴我不行了..
不要被高大上的技術嚇到了,,無非就是做了一些小技巧而已,,真的很基礎,但是也真的很實用,。
1.對數(shù)據(jù)庫表結構進行了一些特殊改造: 朋友圈內容表有一個特殊的字段status,, status值有兩種情況,值可以為1或者2,,
值為1是朋友圈未發(fā)布,。 值為2是朋友圈已發(fā)布。 (暫時看不懂為什么這樣做的同學,,可以先繼續(xù)閱讀,,后面會講解)
2.此篇文章的秒發(fā)功能指的.有圖片的情況下使用,因為有圖片的話,,圖片上傳太慢,所以需要采用秒發(fā)機制,,但是沒有圖片純文字的話,,就沒太大的必要了,因為文本傳輸量很低,,按照正常流程發(fā)送即可,。
3.此篇文章的代碼是基于phalapi框架,語法都比較簡單,,有過orm操作經驗的同學應該都看得懂
4.此篇文章主要講解app的秒發(fā)功能,,web端不是特別需要這個功能,因為現(xiàn)代網絡足以我們的pc一次性發(fā)送很多很多張圖片(10m/s,,20m/s)
客戶端調用發(fā)布api,,服務端進行發(fā)布內容(),如果是有圖片,,那么客戶端還要額外調用一個上傳api(),,在這個上傳api()還沒完成工作的時候,客戶端會直接告訴你發(fā)布成功(其實當前是沒有上傳完成,,后面有一個進程在拼命幫你上傳著呢),,然后客戶端會把你發(fā)的文字和圖片暫時拼接好顯示給你看(當前只有你能看到,你朋友圈其他人是看不到的),,然后等待著上傳api()的結果/當然也可能上傳超時(通常一分鐘內會出結果),,如果成功的話則順利上傳,失敗的話則報發(fā)送失敗,,但是在等待結果的一分鐘之內,,他會先讓你覺得你已經發(fā)送了,除非上傳失敗,,才會在后來提醒你,。
那么讓我們在技術層面來分析一下這套機制吧:
當我們點上右上角的發(fā)送鍵后,,有兩個進程在同時啟動,其中一個進程是幫你上傳文本并且告訴你已經發(fā)送成功啦(),,另外一個進程是偷偷去上傳你發(fā)的圖片(),,具體代碼如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
//正常獲取數(shù)據(jù)(文本,圖片,,位置信息等)
…