怎样把下载下来的聊天室源码安装上。
sumochat源码!怎样安装
第一步 当然是先要从 上下个php-5.0.3-Win32.zip回来。
偶下的是php-5.0.3RC2-Win32.zip其实和php-5.0.3-Win32.zip差不多就少了两注册表文件,不过根本用不上,那是为iis4以下版本准备的 。
第二步 解压到任意目录,比如n:\imp\php\php5.0.3 不过不要在目录名里面有空格,以免出一些小麻烦。
像e:\pogam files\php这样设置目录就不大妥当。
第三步 把你刚解压的目录名加到系统环境变量path里面。
系统环境变量的不知道?晕倒!桌面-〉我的电脑-〉鼠标右键-〉属性-〉高级-〉系统变量-〉path-编辑-〉在最后面加分号;目录名(例如:n:\imp\php\php5.0.3)-〉确定。
第四步 在刚添加到path中的那个目录里面找到i-dist或i-ecommended重命名为 i剪切到系统目录下c:\winnt。
用后面那个省得还要自己设置。
第五步 连接php为isapi方式 确认iis5.0 工作正常。
打开intenet服务管理器(运行-〉inetmg-〉在你要连接php的网站或默认网站站点-〉单击鼠标右键 -〉属性-〉主目录--〉配置--〉应用程序映射-〉添加--〉可执行文件-〉你的php目录中的php5isapi.dll-〉扩展名-〉php(php3 phtml)-〉全部动作或限于(option,get ,post ,head。
。
。
自己加)-〉钩选 脚本引擎--〉钩选 检查文件是否存在--〉确定--〉isapi筛选器--〉添加--〉筛选器名称—〉php--〉可执行文件--〉你的php目录中的php5isapi.dll--〉确定--〉主目录--〉钩选 脚本资源访问--〉执行许可--〉脚本和可执行程序。
属性-〉文档--〉启用默认文档--〉添加 --〉 p 。
连接php为cgi方式 在主目录添加应用程序映射为php.exe 文件后缀为php就Ok 啦 如果要支持多个后缀,重复添加。
在此种安装的时候要注意在应用程序映射的时候的路径的写法,否则会出现下面的错误信息。
CGI Timeout The specified CGI application exceeded the allowed time fo pocessing. The seve has deleted the pocess. 应该在路径后面加上"%s" %s 比如你的php.exe的路径是 n:\imp\php\php5.0.3\php.exe 那么在写到应用程序映射-可执行文件时就应该这样写 n:\imp\php\php5.0.3\php.exe "%s" %s cgi的界面就是白底黑字。
安全方面也不容乐观。
所以用什么方式还是你自己定吧。
重启iis,运行--〉net stop iisadmin net stat w3svc 顺便介绍下运行的几个程序 cmd inetmg compmgmt 第六步 编写一个测试页,也就是包含php脚本的页面 ?php echo 'Cuent PHP vesion: ' . phpvesion(); phpinfo(); phpinfo(INFO_MODULES); ? 保存为 p,放到刚才你连接过php的网站的主目录中。
在浏览器中查看此页。
比如http:localhost 第七步 安装其他插件 (扩展)
网页聊天室代码
【ClientSocketDemo.java 客户端Java源代码】import java.net.*;import java.io.*;public class ClientSocketDemo { //声明客户端Socket对象socket Socket socket = null; //声明客户器端数据输入输出流 DataInputStream in; DataOutputStream out; //声明字符串数组对象response,用于存储从服务器接收到的信息 String response[]; //执行过程中,没有参数时的构造方法,本地服务器在本地,取默认端口10745 public ClientSocketDemo() { try { //创建客户端socket,服务器地址取本地,端口号为10745 socket = new Socket("localhost",10745); //创建客户端数据输入输出流,用于对服务器端发送或接收数据 in = new DataInputStream(socket.getInputStream()); out = new DataOutputStream(socket.getOutputStream()); //获取客户端地址及端口号 String ip = String.valueOf(socket.getLocalAddress()); String port = String.valueOf(socket.getLocalPort()); //向服务器发送数据 out.writeUTF("Hello Server.This connection is from client."); out.writeUTF(ip); out.writeUTF(port); //从服务器接收数据 response = new String[3]; for (int i = 0; i { response[i] = in.readUTF(); System.out.println(response[i]); } } catch(UnknownHostException e){e.printStackTrace();} catch(IOException e){e.printStackTrace();} } //执行过程中,有一个参数时的构造方法,参数指定服务器地址,取默认端口10745 public ClientSocketDemo(String hostname) { try { //创建客户端socket,hostname参数指定服务器地址,端口号为10745 socket = new Socket(hostname,10745); in = new DataInputStream(socket.getInputStream()); out = new DataOutputStream(socket.getOutputStream()); String ip = String.valueOf(socket.getLocalAddress()); String port = String.valueOf(socket.getLocalPort()); out.writeUTF("Hello Server.This connection is from client."); out.writeUTF(ip); out.writeUTF(port); response = new String[3]; for (int i = 0; i { response[i] = in.readUTF(); System.out.println(response[i]); } } catch(UnknownHostException e){e.printStackTrace();} catch(IOException e){e.printStackTrace();} } //执行过程中,有两个个参数时的构造方法,第一个参数hostname指定服务器地址 //第一个参数serverPort指定服务器端口号 public ClientSocketDemo(String hostname,String serverPort) { try { socket = new Socket(hostname,Integer.parseInt(serverPort)); in = new DataInputStream(socket.getInputStream()); out = new DataOutputStream(socket.getOutputStream()); String ip = String.valueOf(socket.getLocalAddress()); String port = String.valueOf(socket.getLocalPort()); out.writeUTF("Hello Server.This connection is from client."); out.writeUTF(ip); out.writeUTF(port); response = new String[3]; for (int i = 0; i { response[i] = in.readUTF(); System.out.println(response[i]); } } catch(UnknownHostException e){e.printStackTrace();} catch(IOException e){e.printStackTrace();} } public static void main(String[] args) { String comd[] = args; if(comd.length == 0) { System.out.println("Use localhost(127.0.0.1) and default port"); ClientSocketDemo demo = new ClientSocketDemo(); } else if(comd.length == 1) { System.out.println("Use default port"); ClientSocketDemo demo = new ClientSocketDemo(args[0]); } else if(comd.length == 2) { System.out.println("Hostname and port are named by user"); ClientSocketDemo demo = new ClientSocketDemo(args[0],args[1]); } else System.out.println("ERROR"); }}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////【ServerSocketDemo.java 服务器端Java源代码】import java.net.*;import java.io.*;public class ServerSocketDemo { //声明ServerSocket类对象 ServerSocket serverSocket; //声明并初始化服务器端监听端口号常量 public static final int PORT = 10745; //声明服务器端数据输入输出流 DataInputStream in; DataOutputStream out; //声明InetAddress类对象ip,用于获取服务器地址及端口号等信息 InetAddress ip = null; //声明字符串数组对象request,用于存储从客户端发送来的信息 String request[]; public ServerSocketDemo() { request = new String[3]; //初始化字符串数组 try { //获取本地服务器地址信息 ip = InetAddress.getLocalHost(); //以PORT为服务端口号,创建serverSocket对象以监听该端口上的连接 serverSocket = new ServerSocket(PORT); //创建Socket类的对象socket,用于保存连接到服务器的客户端socket对象 Socket socket = serverSocket.accept(); System.out.println("This is server:"+String.valueOf(ip)+PORT); //创建服务器端数据输入输出流,用于对客户端接收或发送数据 in = new DataInputStream(socket.getInputStream()); out = new DataOutputStream(socket.getOutputStream()); //接收客户端发送来的数据信息,并显示 request[0] = in.readUTF(); request[1] = in.readUTF(); request[2] = in....
谁有易语言聊天室的源码?
.版本 2.程序集 启动窗口程序集.子程序 _按钮1_被单击' 连接服务器.如果真 (客户1.连接 (地址编辑框.内容, 到数值 (端口编辑框.内容)) = 假)信息框 (“连接失败!”, 0, )返回 ().如果真结束发送按钮.禁止 = 假发送编辑框.获取焦点 ().子程序 _发送按钮_被单击.如果真 (客户1.发送数据 (发送编辑框.内容) = 假)信息框 (“发送失败!”, 0, ).如果真结束发送编辑框.内容 = “”发送编辑框.获取焦点 ().子程序 _客户1_数据到达信息编辑框.加入文本 (取字节集数据 (客户1.取回数据 (), #文本型) + #换行符)'以上是客户端'.版本 2.程序集 启动窗口程序集.子程序 _服务器1_客户进入' 当某客户连接进来时,将其加入在线列表。
列表框1.加入项目 (服务器1.取回客户 (), ).子程序 _服务器1_客户离开.局部变量 客户, 文本型.局部变量 项目数.局部变量 变量1' 当某客户断开连接时,将其从在线列表中删除。
客户 = 服务器1.取回客户 ()项目数 = 列表框1.取项目数 ().计次循环首 (项目数, 变量1).如果真 (列表框1.取项目文本 (变量1 - 1) = 客户)列表框1.删除项目 (变量1 - 1)跳出循环 ().如果真结束.计次循环尾 ().子程序 _服务器1_数据到达.局部变量 项目数.局部变量 变量1.局部变量 收到数据, 字节集' 将所收到的信息转发给所有在线客户。
收到数据 = 服务器1.取回数据 ()项目数 = 列表框1.取项目数 ().计次循环首 (项目数, 变量1)服务器1.发送数据 (列表框1.取项目文本 (变量1 - 1), 收到数据, 1).计次循环尾 ()'以上是服务器端'
怎样实现仿qq聊天室里面的聊天消息代码
import java.io.InputStream; import java.io.DataInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.DataOutputStream; import java.io.BufferedReader; import java.net.ServerSocket; import java.net.Socket; import java.io.IOException; import java.util.Date; class Server { public Server() { try { ServerSocket s=new ServerSocket(8888); Socket ss=s.accept(); OutputStream out=ss.getOutputStream(); DataOutputStream dout=new DataOutputStream(out); InputStream in=ss.getInputStream(); DataInputStream din=new DataInputStream(in); System.out.print(din.readUTF()+"!"); dout.writeUTF("你已经连接到服务器"+"\t"+"你的地址:"+ss.getInetAddress()+"\t" +"你的链接端口:"+ss.getLocalPort()+"\n"); new ReadMessage(din).start(); new SendMessage(dout).start(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new Server(); } } //接受客户端信息 class ReadMessage extends Thread { private DataInputStream din; public ReadMessage(DataInputStream din) { this.din=din; } public void run() { String str; try { while (true) { str=din.readUTF(); System.out.println(new Date().toLocaleString()+"客户端说:"+str); if (str.equals("bye")) { System.out.println("客户端下线!"); break; } } } catch (IOException e) { e.printStackTrace(); } } } // 发出服务器信息 class SendMessage extends Thread { private DataOutputStream dout; public SendMessage(DataOutputStream dout) { this.dout=dout; } public void run() { InputStreamReader inr=new InputStreamReader(System.in); BufferedReader buf=new BufferedReader(inr); String str; try { while(true) { str=buf.readLine(); dout.writeUTF(str); if (str.equals("bye")) { System.out.println("服务器退出!"); System.exit(1); } } } catch (IOException e) { e.printStackTrace(); } } } import java.io.InputStream; import java.io.DataInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.DataOutputStream; import java.io.BufferedReader; import java.net.Socket; import java.io.IOException; import java.util.Date; class Client { public Client() { try { Socket s=new Socket("192.168.1.2",8888); InputStream in=s.getInputStream(); DataInputStream din=new DataInputStream(in); OutputStream out=s.getOutputStream(); DataOutputStream dout=new DataOutputStream(out); dout.writeUTF("服务器你好!我是客户端"); System.out.println(din.readUTF()); new Thread(new SenderMessage(dout)).start(); new Thread(new ReaderMessage(din)).start(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new Client(); } } class ReaderMessage implements Runnable { private DataInputStream din; public ReaderMessage(DataInputStream din) { this.din=din; } public void run() { String str; try { while(true) { str=din.readUTF(); System.out.println(new Date().toLocaleString()+"服务器说:"+str); if (str.equals("bye")) { System.out.println("服务器已经关闭,此程序自动退出!"); break; } } } catch (IOException e) { e.printStackTrace(); } } } class SenderMessage implements Runnable { private DataOutputStream dout; public SenderMessage(DataOutputStream dout) { this.dout=dout; } public void run() { String str; InputStreamReader inf=new InputStreamReader(System.in); BufferedReader buf=new BufferedReader(inf); try { while (true) { str=buf.readLine(); dout.writeUTF(str); if (str.equals("bye")) { System.out.println("客户端自己退出!"); System.exit(1); } } } catch (IOException e) { e.printStackTrace(); } } }
C语言编写聊天程序
就是一个批处理。
用任何编辑文本文件的软件都可以,系统的记事本是最好的选择。
上面的批处理你把它保存在一个文本文件里。
保存后,扩展名TXT改为BAT就可以了。
不过上面的强制聊天打开工具不用那么费劲。
你只要在开始,运行里执行 start tencent://Message/?Uin=%num% 就可以了,别的语句都是废话。
联合国灭狗灭猫特种战士