socket编程的小例子、socket聊天程序
刚刚参加工作不久、算是一个菜鸟吧、、下面是自己写的一个基于socket的聊天程序、多多提意见和建议、、
client、单词拼错了、大家不就用提醒了、
server、服务器端
?client
import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.util.Scanner;public class Clinet {public static void main(String [] args)throws Exception{Socket socket=new Socket("192.168.0.125",8088);new ReadThread(socket).start();new WriteThread(socket).start();System.out.println("客户端已经启动");}}class ReadThread extends Thread{private Socket socket;public ReadThread(Socket socket){this.socket= socket;}public void run(){ BufferedReader br = null; String ipString=null;try {synchronized (socket) { br =new BufferedReader(new InputStreamReader(socket.getInputStream()));ipString=socket.getLocalAddress().getHostAddress();}while(true){String msg="";if((msg=br.readLine())!=null){System.out.println(msg);}}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}class WriteThread extends Thread{private Socket socket;public WriteThread(Socket socket){this.socket= socket;}public void run(){PrintWriter pw=null; OutputStream outputStream=null;try {synchronized (socket) {outputStream=socket.getOutputStream();pw =new PrintWriter(outputStream);}String msg=null;while(true){Scanner scanner=new Scanner(System.in);msg=scanner.next();pw.println(msg);pw.flush();outputStream.flush();}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}?