火眼金獅
這個(gè)這個(gè)要用到ajax吧 php只是個(gè)搭載平臺(tái),不能實(shí)現(xiàn)實(shí)時(shí)更新 要配合其他技術(shù)才行追問(wèn)
還需要用啥追答
ajax吧 無(wú)刷新技術(shù)
尤他
IT交流學(xué)習(xí):483787113,備注:小白里面不止有Java和PHP大神,還有web,Python等等各個(gè)領(lǐng)域的大神,同時(shí)不定期分享學(xué)習(xí)資料。
湯允文
個(gè)人建議 至少4臺(tái)服務(wù)器,并且最好是以局域網(wǎng)方式互通(服務(wù)器4可以完全獨(dú)立)服務(wù)器1和服務(wù)器2都只放php代碼程序,暴露在外網(wǎng),分別當(dāng)電信服務(wù)器和網(wǎng)通服務(wù)器服務(wù)器3只放數(shù)據(jù)庫(kù),通過(guò)用戶權(quán)限,僅允許被服務(wù)器1和2訪問(wèn)——不暴露在外網(wǎng)服務(wù)器4只放附件,暴露在外網(wǎng),所有的附件請(qǐng)求,都直接對(duì)這個(gè)服務(wù)器進(jìn)行需要指出的是,你如果作為網(wǎng)站管理者,每次管理數(shù)據(jù)庫(kù),都要用1或者2當(dāng)跳板,才可以訪問(wèn)。
這方面是很好,但如果還是撐不住應(yīng)該怎么弄,又或者說(shuō)數(shù)據(jù)更大,訪問(wèn)量更大要如何弄,有沒(méi)有一個(gè)無(wú)限加服務(wù)器的方案?
這方面是很好,但如果還是撐不住應(yīng)該怎么弄,又或者說(shuō)數(shù)據(jù)更大,訪問(wèn)量更大要如何弄,有沒(méi)有一個(gè)無(wú)限加服務(wù)器的方案?
呂曠
參考服務(wù)器推送信息的做法,php的話客戶端需要借助js不斷輪詢服務(wù)器獲取對(duì)應(yīng)用戶信息。 服務(wù)端設(shè)計(jì)一個(gè)緩存區(qū)域,能讓客戶端的請(qǐng)求得到對(duì)應(yīng)信息。通常是 識(shí)別標(biāo)識(shí)->加工信息->返回給用戶 所以這里需要設(shè)計(jì)的是客戶端給服務(wù)端發(fā)送的請(qǐng)求信息的設(shè)計(jì),這個(gè)需要根據(jù)實(shí)際項(xiàng)目需求來(lái)判斷,比如說(shuō)根據(jù)活動(dòng)id獲取公告、根據(jù)用戶id獲取社交信息(粉絲,關(guān)注,消息)
忘語(yǔ)
考慮使用cdn分流
小湯
群發(fā)不過(guò)是給你站內(nèi)用戶每人一個(gè)消息,換句話說(shuō)就是后臺(tái)選中你要群發(fā)的用戶,編輯群發(fā)內(nèi)容,然后插入數(shù)據(jù)庫(kù)就好了,然后有個(gè)已讀未讀狀態(tài),默認(rèn)全部未讀狀態(tài),至于前臺(tái)的現(xiàn)實(shí)效果,要看你的具體需求了,如果還有啥不明白的私信問(wèn)我把
我愛(ài)你
因?yàn)橹挥姓{(diào)用了accept客戶端才能連上,你如果accept下面接一個(gè)循環(huán),那么第二個(gè)用戶不是說(shuō)能不能進(jìn)這個(gè)循環(huán),而是連不進(jìn)……此時(shí)只有第一個(gè)用戶break出了循環(huán),然后程序回頭再調(diào)用accept,第二個(gè)用戶才能連上。 用多進(jìn)程來(lái)處理如何?因?yàn)閍ccept一.
洪真武
如下:public static String do_post(String url, List<NameValuePair> name_value_pair) throws IOException { String body = "{}"; DefaultHttpClient httpclient = new DefaultHttpClient(); try { HttpPost httpost = new HttpPost(url); httpost.setEntity(new UrlEncodedFormEntity(name_value_pair, StandardCharsets.UTF_8)); HttpResponse response = httpclient.execute(httpost); HttpEntity entity = response.getEntity(); body = EntityUtils.toString(entity); } finally { httpclient.getConnectionManager().shutdown(); } return body; } public static String do_get(String url) throws ClientProtocolException, IOException { String body = "{}"; DefaultHttpClient httpclient = new DefaultHttpClient(); try { HttpGet httpget = new HttpGet(url); HttpResponse response = httpclient.execute(httpget); HttpEntity entity = response.getEntity(); body = EntityUtils.toString(entity); } finally { httpclient.getConnectionManager().shutdown(); } return body; }
烏靈珠
首先去下載一個(gè)phpmailer的壓縮包(隨便一搜就可以找的到)然后解壓代碼如下:<?php require("phpmailer/class.phpmailer.php"); //引入文件(把剛才解壓的那些文件放到對(duì)應(yīng)的路徑就可以了) $mail = new PHPMailer(); //實(shí)例化 $mail->IsSMTP(); // 啟用SMTP $mail->Host="smtp.126.com"; //smtp服務(wù)器的名稱(這里以126郵箱為例) $mail->SMTPAuth = true; //啟用smtp認(rèn)證 $mail->Username = "******@126.com"; //你的郵箱名 $mail->Password = "*****"; //郵箱密碼 $mail->From = "****@126.com"; //發(fā)件人地址(也就是你的郵箱地址) $mail->FromName = "****"; //發(fā)件人姓名 $mail->AddAddress("收件人地址","收件人姓名"); //添加收件人 $mail->AddReplyTo("*****@126.com", "****"); //回復(fù)地址(可填可不填) $mail->WordWrap = 50; //設(shè)置每行字符長(zhǎng)度 $mail->AddAttachment("images/01.jpg", "manu.jpg"); // 添加附件,并指定名稱 $mail->IsHTML(true); // 是否HTML格式郵件 $mail->CharSet="utf-8"; //設(shè)置郵件編碼 $mail->Subject = "****"; //郵件主題 $mail->Body = "******"; //郵件內(nèi)容 $mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //郵件正文不支持HTML的備用顯示 if(!$mail->Send()) { echo "Message could not be sent. <p>"; echo "Mailer Error: " . $mail->ErrorInfo; exit(); } else { echo "Message has been sent"; }?>