Java Socket多线程编程示例
发布时间:2020-05-28 20:34:35 所属栏目:Java 来源:互联网
导读:Java Socket多线程编程示例
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 import java.io.*;
import java.net.*;
import java.util.Scanner;
public class SimpleChatClient {
BufferedReader reader;
PrintWriter writer;
Socket sock;
public void go(){
System.out.println("客户端启动!");
setUpNetworking();
//发送数据到服务器
Scanner scanner=new Scanner(System.in);
String sendString=scanner.nextLine();
while(sendString!=null&&!sendString.equals("byebye")){
writer.println(sendString);
writer.flush();
sendString=scanner.nextLine();
}
scanner.close();
System.out.println("客户端退出!");
}
public void setUpNetworking(){
try {
sock=new Socket("127.0.0.1",5000);
InputStreamReader streamReader=new InputStreamReader(sock.getInputStream());
reader=new BufferedReader(streamReader);
writer=new PrintWriter(sock.getOutputStream());
System.out.println("networking established");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleChatClient client=new SimpleChatClient();
client.go();
}
}
服务器端代码如下: import java.io.*;
import java.net.*;
public class SimpleChatServer {
//内部类
public class ClientHandler implements Runnable{
BufferedReader reader;
Socket sock;
public ClientHandler(Socket clientSocket){
sock=clientSocket;
InputStreamReader isReader;
try {
isReader = new InputStreamReader(sock.getInputStream());
reader=new BufferedReader(isReader);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run() {
// TODO Auto-generated method stub
String messageString;
try {
while((messageString=reader.readLine())!=null){
System.out.println("read "+messageString);
}
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("有一个连接断开");
}
}
}
public void go(){
System.out.println("服务器启动成功!");
ServerSocket serverSock;
try {
serverSock = new ServerSocket(5000);
while(true){
Socket clientSocket=serverSock.accept();
Thread thread=new Thread(new ClientHandler(clientSocket));
thread.start();
System.out.println("got a connection!");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new SimpleChatServer().go();
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
