• 大小: 999KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-23
  • 语言: 其他
  • 标签: java  socket编程  

资源简介

代码+问题分析+解决方案 实践内容: 编写简单的多线程 web服务器 实现过程: 该实验我做的是一个聊天系统,实现的功能是: 服务端可以任意指定一个端口号建立服务器,等待的客户的连接,若有客户连接上,则有相应的提示,断开连接也有相应的提示,此外服务器可以向所有在线用户广播消息,也可以查看客户的聊天记录! 客户端需要填写服务器的IP及端口号及自己的ID方可连接服务器,客户端只要一连接上服务器就可以看见目前的上线人数,选择其一就可以与其聊天,你也可以和自己聊天来取乐!

资源截图

代码片段和文件信息

package client;

//客户端通信线程
//Client.java
import java.util.*;
import java.net.*;
import java.io.*;
import javax.swing.*;

class Client extends Thread {
Socket socket_0931;
InetAddress host_0931;
int port_0931;
String name_0931;
BufferedReader in_0931;
PrintStream out_0931;
String message_0931;
ClientGUI chat_0931;

public Client(String Address int port String name ClientGUI chat) {
try {
host_0931 = InetAddress.getByName(Address);
this.port_0931 = port;
this.chat_0931 = chat;
this.name_0931 = name;
} catch (IOException e) {
chat.receiveMsg
.append(“The constructor of Client encounters a  problem!“
+ e.toString());
}
}

public void run() {
try {
socket_0931 = new Socket(host_0931 port_0931);
chat_0931.receiveMsg.append(“连接成功!\n“);
out_0931 = new PrintStream(socket_0931.getOutputStream());
out_0931.println(name_0931);
out_0931.flush();
in_0931 = new BufferedReader(new InputStreamReader(socket_0931
.getInputStream()));
while (true) {
message_0931 = in_0931.readLine();
if (message_0931.startsWith(“添加用户“)) {
chat_0931.lists.add(message_0931.substring(4));
} else if (message_0931.startsWith(“删除用户“)) {
chat_0931.lists.remove(message_0931.substring(4));
} else {
//chat_0931.receiveMsg.append(“\n“);
chat_0931.receiveMsg.append(message_0931 + “\n“);
}
}
} catch (SocketException e) {
chat_0931.receiveMsg.append(“连接失败!\n“);
chat_0931.connect.setEnabled(true);
chat_0931.lists.removeAll();
try {
socket_0931.close();
} catch (IOException er) {
chat_0931.receiveMsg.append(“1-“ + er.toString());
}
} catch (IOException e) {
chat_0931.receiveMsg.append(“2-“ + e.toString());
}
}

public void messageSend(String message) {
out_0931.println(message.trim());
//out_0931.println(“\n“);
out_0931.flush();
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1132032  2010-04-18 16:33  李亚方实践报告.doc

     文件       1968  2010-04-15 19:53  实验五\client\Client.java

     文件       4535  2010-04-15 19:57  实验五\client\ClientGUI.java

     文件       2028  2010-04-15 17:31  实验五\client\ClientLogin.java

     文件       2919  2010-04-15 17:32  实验五\server\Server.java

     文件       2472  2010-04-07 21:40  实验五\server\ServerGUI.java

     文件       1444  2010-04-16 00:09  实验五\server\ServerThread.java

     目录          0  2010-04-12 22:12  实验五\client

     目录          0  2010-04-12 22:12  实验五\server

     目录          0  2010-04-12 22:12  实验五

----------- ---------  ---------- -----  ----

              1147398                    10


评论

共有 条评论