【server端】
import java.io.*;
import java.net.*;
public class MultiSocketServer
{
public static void main(String str[]) throws IOException
{
ServerSocket server=new ServerSocket(3333);//绑定端口
while(true)
{
Socket client=server.accept();//监听
ChildTh child=new ChildTh(client);
Thread t=new Thread(child);
t.start();
}
}
}
class ChildTh implements Runnable
{
private Socket client;
public ChildTh(Socket client)
{
this.client=client;
}
public void run() {
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out=new PrintWriter(client.getOutputStream());
while(true)
{
String s=in.readLine();
System.out.println(s);
out.println("has received……");
out.flush();
if(s.equals("end"))
break;
}
client.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
【client端】
import java.net.*;
import java.io.*;
public class MultiSocketClient
{
static Socket server;
public static void main(String str[]) throws IOException
{
server=new Socket("222.195.151.47",3333);
BufferedReader in=new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter out=new PrintWriter(server.getOutputStream());
BufferedReader wt=new BufferedReader(new InputStreamReader(System.in));
while(true)
{
String s=wt.readLine();
out.println(s);
out.flush();
if(s.equals("end"))
{
break;
}
System.out.println(in.readLine());
}
server.close();
}
}
分享到:


2011-12-09 15:09
浏览 1324
评论
该博客展示了如何使用Java的Socket编程创建一个简单的多线程服务器,能够同时处理多个客户端的连接请求。在服务器端,通过ServerSocket监听特定端口,并在接收到客户端连接时启动新的线程来处理通信。客户端则通过Socket连接服务器,发送和接收数据。示例代码包括了读取客户端输入并回显信息,直到接收到'end'信号结束通信。
&spm=1001.2101.3001.5002&articleId=114084212&d=1&t=3&u=58c50b1d317a4054b12932a8fe7e1ed7)
3044

被折叠的 条评论
为什么被折叠?



