------------------------------------------
加入多线程
------------------------------------------
MyServer
public static ArrayList<Socket> socketList = new ArrayList<Socket>();
ServerSocket ss = new ServerSocket(30000);
Socket s = ss.accept();
socketList.add(s);
//将获取的socket交给线程类处理
new Thread(new ServerThread(s)).start();
ServerThread
public class ServerThread implements Runnable{
Socket s = null;
BufferedReader br = null;
public ServerThread(Socket s) throws IOException{
this.s = s;
br = new BufferedReader(new InpuStreamReader(s.getInputStream));
}
public void run(){
try{
String content = null;
while(null != (content = readFromClient())){
for(Socket s : MyServer.socketList){
PrintStream ps = new PrintStream
(s.getOutputStream());
ps.println(content);
}
}
}catch(IOException e){
}
}
public String readFromClient{
try{
return br.readLine();
}catch (IOException e){
MyServer.socketList.remove(s);
}
return null;
}
}
MyClient
Socket s = new Socket("127.0.0.1",30000);
//读取ServerSocket发来的数据
new Thread(new ClientThread(s)).start();
//以下代码用于向ServerSocket发送数据
PrintStream ps = new PrintStream(s.getOutputStream());
String line = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(null!=(line=br.readLine())){
ps.println(line);
}
ClientThread
public class ClientThread implements Runnable{
private Socket s;
BufferedReader br = null;
public ClientThread(Socket s)throws IOException{
this.s = s;
br = new BufferedReader(
new InputStreamReader(s.getInputStream));
}
public void run(){
try{
String content = null;
while(null!=(content = br.readLine())){
System.out.println(content);
}
}catch (Exception e){
e.printStackTrace();
}
}
}
- 大小: 46.9 KB
分享到:
相关推荐
《Java网络编程第三版》是Java开发者深入理解网络编程的重要参考资料。这本书主要涵盖了Java平台上的网络应用程序开发,从基础概念到高级技术,为读者提供了一套全面的学习路径。以下是本书中涉及的一些关键知识点:...
Windows 网络编程 概述 Windows 网络编程是指在 Windows 操作系统平台上进行网络编程的技术,涉及到 Windows Socket、网络协议、网络应用程序的开发等方面。 Windows 网络编程的主要目的是实现高性能的网络应用...
扫描版 超清百度网盘资源!!! 为初学者准备的网络编程! 韩国TCP/IP经典教程!... 本书针对网络编程初学者,面向具备C语言基础的套接字网络编程学习者,适合所有希望学习Linux和Windows网络编程的人。
C++网络编程是计算机科学中的一个重要领域,它允许开发者创建能够通过网络进行通信的应用程序。这份"C++网络编程文档"涵盖了这一主题的广泛内容,旨在帮助程序员深入理解并掌握网络编程的基本概念和技术。 首先,...
《C#网络编程实例教程源代码》是一份深入浅出的教学资源,旨在帮助开发者掌握C#语言在网络编程领域的应用。这份教程结合了理论与实践,提供了丰富的源代码示例,让学习者能够通过实际操作来理解和掌握网络编程的核心...
《Linux网络编程教程》这本书是Linux系统中进行网络编程的重要参考资料。它涵盖了广泛的知识点,旨在帮助读者理解和掌握如何在Linux环境下开发网络应用程序。以下是对这些主题的详细阐述: 1. **网络编程基础**:...