搭建自己聊天服务器
⑴ 自己如何搭建服务器。
1、网站服务器其实就是我们通常说的web主机,对应不同的编程语言,单间网站服务器的软件不同,一般情况下,在windows环境下,一般以.asp.net.html为主,在这种情况下,搭建网站服务器就主要用到微软系统自带的iis(互联网信息服务)就可以了,Linux环境下就是php了,相对应搭建的软件就是apache+mssql了。
2、java是跨平台的,哪个都可以。对于初学者来说,建议使用asp方面服务器,一方面是asp程序比较简单易懂,在修改过程中,还可以借助Dreamweaver等可视化编程工具,进行可视化编辑,另一方面windows环境下iis安装极其简单,在控制面板中——添加删除程序—物纤—windows组建,下拉找到iis,放入系统盘即可安装,无需下载任何东西。
3、在我们网站编程实际应用过程中,我们其实还用到一个简易的iis服务器,网络一下就能找到“简易iis服务器”,这是一些热心的网友开发出来的网站服务应用程序,同样可以起到iis的作用,但是支持的范围有限,对于一些高端的iis服务不支持,但是作为日常测试网站程序已经是足够了。
4、如果准备搭建的网站服务器是准备支持php的,推荐安装“一键php集成调试环境”,安装极其简单,下载后,下一步就可以,这个集成环境,融合了,php解释器,mssql服务器,phpadmin,Apache服务器,php加速器等。可以说是一个完美的php服务器环境。
5、下面还需要对网站服务器就行设置,设置网站的路径,使其指向你网站程序的存放目录,设置网站首页例如:index.asp,index.php等。然后测试一下自己的ip地址是多少,如果你的这台网站服务器是放置在局域网环境当中的,那还需要你再路由器上设置一下端口映射,否则外网的电脑是访问不了你这台电脑的,路由器就由于一道墙,他阻隔了你与外界的交流,也就是说保护着你这台电脑。
6、但是你现在想让外部的电并蔽脑访问你,就必须让外部电脑了解你的位置,所以做一个端口映射就可以实现,具体如果做,请查看你所使用的路由器的型号来设置了,切记一定把80端口映射就可以,网站服务器默认的端口是80端口。
(1)你上网没有用路由,运营商单独分给你一个ip地址,那你直接可以用你的ip让外网的同学来访问你的网站,我们这里用的8080端口,所以形式为:xxxxxxxxxx:8080.为了让多的同学了解,我在_嗦一下,怎么知道自己的ip地址,你不必用在cmd命令输入ipconfig这种略显专业的方法去获取,其实哦重要在网络搜素“ip查询”,第一个就是。
(2)用了路由器,一个路由器呆了好几台电脑,比如说跟室友,这就需要你去路由绝蚂州管理页面设置一下,端口映射,让被人访问你们的ip地址时,映射到你的电脑,在浏览器中输入192.168.1.1(以你的路由为准),进入路由管理页面,操作,
转发规则-----虚拟服务器-------添加新条目
端口我们没改,所以填8080,IP地址为你的电脑在局域网中的地址,怎么样知道自己的局域网中的地址,很简单自己网络一下,只要局域网里的电脑不是太多,一般为192.168.1.XXX,我这里为192.168.1.101,然后点击保存,OK,然后外网就可以用你们IP去访问你的网站了。
效果图如下:
这时可以把这个网址发给你的同学,试一下,他能不能访问你的网站,答案是肯定的!
3、但是又有新问题了,你第二天打开路由,或者再次上网时,运营商会重新分配给你一个新的IP地址,难道你让你同学访问时,再次把这个IP地址发给他吗?显然这是不合理了。
我们就想有一个动态域名多好。这里给大家介绍一款软件“花生壳”,下载安装,然后注册后,你就会获得一个免费的二级域名,每次开机自启后,就会将花生壳服务端中的IP数据更新成你新的IP地址,然后你每次用你固定的域名来访问时,就会解析到你新的IP地址。
:
双击你的域名,看有没有显示出“经检测,您的域名已激活并指向正确”!
OK,到这里,没有路由的同学,就可以直接用你的域名访问了!
有路由的同学,还得多操作一步:
再次进入路由管理页面,操作:
点击“动态DNS”,这时如果你的上述操作都没问题的话,服务提供者那一栏已经自动填充成花生壳的网址了,然后输入用户名,密码,点击登录,如果显示为“连接成功”,那点击“保存”。到这里,终于大功告成,看一下最终效果图:
可以看到,我用我的域名成功的访问到了我的网站。
PS:有时显示“验证成功”时也是个假象,一点击“保存”时,又显示为“验证失败”,再点击“登录”,多点击几次“保存”,直到它一直显示为“验证成功”即可,反正就是多试几次。
⑵ 教你巧用PHP+MySQL搭建一个聊天室
MySQL并发能力强 响应速度快 是性能优异的数据库软件;PHP是功能强大的服务器端脚本语言 笔者在山西铝厂网站开发中 采用PHP +MySQL 建立了多种应用 下面 以一个简单的聊天室设计为例 介绍PHP+MySQL在网页开发中的应用总体设计
构思与规划:
聊天室的基本原理 就是把每个连上同一网页的用户传送的发言数据储存起来 然后将所有的发言数据传给每一用户 也就是说 用数据库汇集每个人的发言 并将数据库中的数据传给每一个人就实现了聊天室的功能
表设计
首先使用MySQL建立表chat用来储存用户的发言:
mysql> CREATE TABLE chat > (chtime DATATIME > nick CHAR( ) NOT NULL >words CHAR( ));
表中只设定了三个域 chtime是发言的时间 nick为发言者的昵称 words是发言的内容 发言最多 个字符
网页设计
一个最简单的聊天室通常需要两个页框:一个页让亏框是用户输入发言的表单 另一个用来显示大家的发言 所以代码段通常至少需要如下几段:
建立页框的结构(main php)
显示大家发言的程序段(cdisplay php)
传送用户发言的程序段(speak php)
用户登录进入聊天室程序段(login php)
代码设计
以上规划完成后 就可以着手代码设计了 采用php可以非常简明实现以上的功能
用户登录login php 本段代码是一个完全HTML网页
<> <head> <title>用户登录</title> </head> <body>请输入您的昵称<br> <form action= main php method= post target= _self > <input type= text name= nick cols= > <input type= submit value= 登录 > </body> </>
用户提交自己的昵称后 就进入到聊天室 以下的处理交由main php处理
页框主体代码段main php:
<? 迅李setcookie( nick $nick) //用cookie记录用户昵称 是常用的传递变量方法 ?> <> <title>山西铝厂聊天室试用版ver </title> <frameset rows= % * > <frame src= cdisplay php name= chatdisplay > <frame src= speak php name= speak > </frameset> </>
显示发言cdisplay php
本代码段的任务是将表chat中的数据取出 显示在页框中 每次刷新时 取数据库中最近的 条发言 同时 为防止数据库无限增大 需设计删除陈旧数据的功能 代码如下
<> <head> <title>显示用户发言</title> <meta equiv= refresh content= ;url=cdisplay php > </head> <body> <? $link_ID=mysql_connect( main root ); //链接Mysql服务器 服务器名为main 管理员名为root 亩滑迟mysql_select_db( abc ); //选择数据库 $str= select * from chat ORDER BY chtime; ; //查询字符串 $result=mysql_query($str $link_ID); //送出查询 $rows=mysql_num_rows($result); //取得查询结果的记录笔数 //取得最后 笔发言 并显示 @mysql_data_seek($resut $rows ); //移动记录指针到前 笔记录 if ($rows< ) $l=$rows; else $l= ; //记录总数小于 则最多为该记录数 for ($i= ;$i<=$l;$i++) { list($chtime $nick $words)=mysql_fetch_row($result); echo $chtime; echo ;echo $nick; echo : ; echo $words; echo <BR> ; } //清除库中过时的数据 @mysql_data_seek($result $rows ); //移动记录指针到前 笔记录 list($limtime)=mysql_fetch_row($result); $str= DELETE FROM chat WHERE chtime< $limtime ; ; $result=mysql_query($str $link_ID); //送出查询字符串 库中只留前 个记录 mysql_close($link_ID); ?> </body> </>
送出发言到数据库speak php
<> <head> <title>发言</title> </head> <body> <? If ($words) { $link_ID=mysql_connect( main root ); mysql_select_db( abc ); //数据库名为abc $time=date(y) date(m) date(d) date(h) date(i) (date(s); //取得当前时间 $str= INSERT INTO chat(chtime nick words) values ( $time $nick $words ); ; mysql_query($str $link_ID); //送出发言到数据库 mysql_close($link_ID); } ?> //输入发言的表单 <form action= speak php method= post target= _self > <input type= text name= words cols= > <input type= submit value= 发言 > </form> </body> </>
lishixin/Article/program/PHP/201311/21516