⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socket通讯源码.txt

📁 实现SOCKET通信 分为服务端源程序和客户端源程序两部分
💻 TXT
字号:
//ServeOneSocket.java 服务端源程序 

import java.io.*; 
import java.net.*; 

public class ServeOneSocket extends Thread { 

private Socket socket; 
private BufferedReader in; 
private PrintWriter out; 
private String content; 

/** 
* Constructor 
*/ 
public ServeOneSocket(Socket s,String c)throws IOException { 
socket=s; 
content=c; 
in=new BufferedReader( 
new InputStreamReader( 
socket.getInputStream())); 
//enable auto-flush 
out=new PrintWriter( 
new BufferedWriter( 
new OutputStreamWriter( 
socket.getOutputStream())),true); 
start();//calls run() 
} 

public void run(){ 
try{ 
while (true){ 
String str=in.readLine(); 
if (str.equals("END"))break; 
System.out.println("Echoing:"+str); 
out.println(str); 
out.println(content); 
} 
System.out.println("Closing..."); 
}catch(IOException e){ 
}finally{ 
try{ 
socket.close(); 
}catch(IOException e){} 
} 
} 
} 

//SocketClientThread.java 客户端源程序 

import java.net.*; 
import java.io.*; 

class SocketClientThread extends Thread{ 
private Socket socket; 
private BufferedReader in; 
private PrintWriter out; 
private static int counter=0; 
private int id=counter++; 
private static int threadcount=0; 
final int port=8110; 

public static int threadCount(){ 
return threadcount; 
} 

public SocketClientThread(InetAddress addr){ 
System.out.println("Making client:"+id); 
threadcount++; 
try{ 
socket=new Socket(addr,port); 
}catch(IOException e){ 
} 
try{ 
in=new BufferedReader( 
new InputStreamReader( 
socket.getInputStream())); 
out=new PrintWriter( 
new BufferedWriter( 
new OutputStreamWriter( 
socket.getOutputStream())),true); 
start(); 
}catch(IOException e){ 
try{ 
socket.close(); 
}catch(IOException e2){} 
} 
} 

public void run(){ 
try{ 
for (int i=0;i<25;i++){ 
out.println("Client:"+id+":"+i); 
String str=in.readLine(); 
System.out.println(str); 
} 
out.println("END"); 
}catch(IOException e){ 
}finally{ 
try{ 
socket.close(); 
}catch(IOException e){} 
threadcount--; 
} 
} 
} 

public class MultiSocketClient { 
static final int MAX_THREADS=10; 
/** 
* main 
* @param args 
*/ 
public static void main(String[] args)throws IOException,InterruptedException { 
InetAddress addr=InetAddress.getByName(null); 
while (true){ 
if (SocketClientThread.threadCount()<MAX_THREADS) 
new SocketClientThread(addr); 
Thread.currentThread().sleep(100); 
} 
} 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -