文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 工程科技 > 建筑/土木 > java Socket多线程服务器源代码介绍
侵权投诉

java Socket多线程服务器源代码介绍

java Socket多线程服务器源代码介绍

va Socket多线程。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ChatServer {
private static final int PORT = 1234; // 端口号
private static List<Socket> list = new ArrayList<Socket>(); // 保存连接对象
private ExecutorService exec;
private ServerSocket server;
public static void main(String[] args) {
new ChatServer();
}
public ChatServer() {
try {
server = new ServerSocket(PORT);
exec = Executors.newCachedThreadPool();
System.out.println(“服务器已启动!”);
Socket client = null;
while (true) {
client = server.accept(); // 接收客户连接
list.add(client);
exec.execute(new ChatTask(client));
}
} catch (IOException e) {
e.printStackTrace();
}
}
static class ChatTask implements Runnable {
private Socket socket;
private BufferedReader br;
private PrintWriter pw;
private String msg;
public ChatTask(Socket socket) throws IOException {
this.socket = socket;
br = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
msg = “【” + this.socket.getInetAddress() + “】进入聊天室!当前聊天室有【”
+ list.size() + “】人”;
sendMessage();
}
public void run() {
try {
while ((msg = br.readLine()) != null) {
if (msg.trim().equals(“bye”)) {
list.remove(socket);
br.close();
pw.close();
msg = “【” + socket.getInetAddress() + “】离开聊天室!当前聊天室有【”
+ list.size() + “】人”;
socket.close();
sendMessage();
break;
} else {
msg = “【” + socket.getInetAddress() + “】说:” + msg;
sendMessage();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 群发消息给聊天室的所有人
*/
private void sendMessage() throws IOException {
System.out.println(msg);
for (Socket client : list) {
pw = new PrintWriter(client.getOutputStream(), true);
pw.println(msg);
}
}
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ChatClient {
private static final int PORT = 7891;
private static ExecutorService exec = Executors.newCachedThreadPool();
public static void main(String[] args) throws Exception {
new ChatClient();
}
public ChatClient() {
try {
Socket socket = new Socket(“221.130.165.41″, PORT);
exec.execute(new Sender(socket));
System.out.println(“【” + socket.getInetAddress() + “】您好,欢迎来到简易聊天室!”);
Buffe

第1页

你可能喜欢

  • Java编程
  • web服务器
  • Java聊天室
  • JAVA网络编程
  • socket通信
  • 教程下载地址
  • java多线程下载
  • java多线程实例

热门文档

相关文档

  • java Socket多线程服务器源代码介绍

    java Socket多线程服务器源代码介绍_互联网_IT/计算机_专业资料。鸡尾酒配方java Socket 多线程服务器源代码介绍.txt 两人之间的感情就像织毛衣,建立的时候一针一 ...

  • linux socket 多线程服务器端代码

    linux socket 多线程服务器端代码_IT/计算机_专业资料。linux socket 多线程服务器端代码,调用pthread_create()函数,可处理多个客户端的请求#...

  • 有关java线程循环 和serversocket和socket的程序

    有关java线程循环 和serversocket和socket的程序_IT/计算机_专业资料。1.用两种...源代码 服务端 import java.io.*; import java.net.*; /** * 基于 TCP ...

  • 用Java实现多线程服务器程序

    用Java实现Web服务器 6页 免费 java Socket多线程服务器源... 2页 免费 Java...这里我们有两个类, receiveServer 包含启动代码(main()),并初始化 ServerSocket...

  • 多线程端口扫描器+++Java课程设计报告+++源代码

    多线程端口扫描器+++Java课程设计报告+++源代码_IT...在本程序中用到了网络编程的两个类,下面介绍这两个...(SocketAddress endpoint):将此套接字连接到服务器...

  • 基于Java语言的套接字编程及多线程服务器编程

    【关键词】:套接字;多线程;服务器煽程;JAVA 本文首先介绍怎样依据TCPflP网络...使用如下代码.从套接字取得输入流:OutputStreamos=clientSocket.getOutputStreamO...

  • java多线程总结(含代码)

    java多线程总结(含代码)_计算机软件及应用_IT/计算机_专业资料。java多线程总结,用程序将线程的常用方法加以解释,适合初学者也可用线程复习。Java...

  • java多线程设计模式

    java 语言已经内置了多线程支持,所有实现 Runnable ...红色部分表示需要同步的代码段, 该区域为“危险区域...的模式可以供我们使用,我们会继续介绍一些常用的多...

  • Java源代码---简易聊天室详细步骤介绍,新手必备

    Java源代码---简易聊天室详细步骤介绍,新手必备_计算机软件及应用_IT/计算机_专业...java Socket多线程服务器... 2页 免费 java网络聊天室课程设计... 49页 免...

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email