安卓 socket简易聊天室

//服务端代码

package service;



import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;


import util.ReadThread;
import util.WriteThread;


public class ServerSocketDemo1 {
   public static void main(String[] args) {
  ServerSocket server=null;
  Socket socket=null;
  try {
server=new ServerSocket(9999);
System.out.println("服务器已启动......");
while(true){
socket=server.accept();
System.out.println(socket+"已经建立连接!");
//读写线程
new ReadThread(socket).start();
new WriteThread(socket).start();
  }
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
 
}

}

//客户端

package service;


import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;


import util.ReadThread;
import util.WriteThread;


public class SocketDemo1 {
  public static void main(String[] args) {
   Socket socket=null;
   try {
socket=new Socket("192.168.1.104", 9999);
new ReadThread(socket).start();
new WriteThread(socket).start();

} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();

}
 
}

//读线程

package util;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;


public class ReadThread extends Thread {
  private Socket socket;
  public ReadThread(Socket socket){
 this.socket=socket;
  }
  @Override
public void run() {
BufferedReader in=null;
try {
 in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
 while(true){
 String ctn = in.readLine();
 System.out.println(ctn);
 }
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}finally{
if(in != null)
try {
in.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
  
  
//写线程
package util;


import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;


public class WriteThread extends Thread{
   private Socket socket;
   public WriteThread(Socket socket){
  this.socket=socket;
   }
   @Override
public void run() {
  PrintWriter out=null;
  Scanner scanner=null;
  try {
out=new PrintWriter(socket.getOutputStream());
scanner=new Scanner(System.in);
while(true){
out.println(scanner.nextLine());
out.flush();
}
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}finally{
if(out != null) out.close();
}
}
   
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值