这个这个要用到ajax吧 php只是个搭载平台,不能实现实时更新 要配合其他技术才行追问
还需要用啥追答
ajax吧 无刷新技术
IT交流学习:483787113,备注:小白里面不止有Java和PHP大神,还有web,Python等等各个领域的大神,同时不定期分享学习资料。
个人建议 至少4台服务器,并且最好是以局域网方式互通(服务器4可以完全独立)服务器1和服务器2都只放php代码程序,暴露在外网,分别当电信服务器和网通服务器服务器3只放数据库,通过用户权限,仅允许被服务器1和2访问——不暴露在外网服务器4只放附件,暴露在外网,所有的附件请求,都直接对这个服务器进行需要指出的是,你如果作为网站管理者,每次管理数据库,都要用1或者2当跳板,才可以访问。
这方面是很好,但如果还是撑不住应该怎么弄,又或者说数据更大,访问量更大要如何弄,有没有一个无限加服务器的方案?
这方面是很好,但如果还是撑不住应该怎么弄,又或者说数据更大,访问量更大要如何弄,有没有一个无限加服务器的方案?
参考服务器推送信息的做法,php的话客户端需要借助js不断轮询服务器获取对应用户信息。 服务端设计一个缓存区域,能让客户端的请求得到对应信息。通常是 识别标识->加工信息->返回给用户 所以这里需要设计的是客户端给服务端发送的请求信息的设计,这个需要根据实际项目需求来判断,比如说根据活动id获取公告、根据用户id获取社交信息(粉丝,关注,消息)
考虑使用cdn分流
群发不过是给你站内用户每人一个消息,换句话说就是后台选中你要群发的用户,编辑群发内容,然后插入数据库就好了,然后有个已读未读状态,默认全部未读状态,至于前台的现实效果,要看你的具体需求了,如果还有啥不明白的私信问我把
因为只有调用了accept客户端才能连上,你如果accept下面接一个循环,那么第二个用户不是说能不能进这个循环,而是连不进……此时只有第一个用户break出了循环,然后程序回头再调用accept,第二个用户才能连上。 用多进程来处理如何?因为accept一.
如下: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; }
首先去下载一个phpmailer的压缩包(随便一搜就可以找的到)然后解压代码如下:<?php require("phpmailer/class.phpmailer.php"); //引入文件(把刚才解压的那些文件放到对应的路径就可以了) $mail = new PHPMailer(); //实例化 $mail->IsSMTP(); // 启用SMTP $mail->Host="smtp.126.com"; //smtp服务器的名称(这里以126邮箱为例) $mail->SMTPAuth = true; //启用smtp认证 $mail->Username = "******@126.com"; //你的邮箱名 $mail->Password = "*****"; //邮箱密码 $mail->From = "****@126.com"; //发件人地址(也就是你的邮箱地址) $mail->FromName = "****"; //发件人姓名 $mail->AddAddress("收件人地址","收件人姓名"); //添加收件人 $mail->AddReplyTo("*****@126.com", "****"); //回复地址(可填可不填) $mail->WordWrap = 50; //设置每行字符长度 $mail->AddAttachment("images/01.jpg", "manu.jpg"); // 添加附件,并指定名称 $mail->IsHTML(true); // 是否HTML格式邮件 $mail->CharSet="utf-8"; //设置邮件编码 $mail->Subject = "****"; //邮件主题 $mail->Body = "******"; //邮件内容 $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"; }?>