//服务器端
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
public class ChatClientSSocket {
private Socket s;
private static final int maxreq= 5;
private static final int port = 8888;
private BufferedReader br;
private InputStreamReader isr;
private String line;
private BufferedWriter bw;
private OutputStreamWriter osw;
private InputStreamReader sisr;
private BufferedReader sbr;
private String readLine;
public static void main(String [] args){
try {
ServerSocket ss = new ServerSocket(port,maxreq);
new ChatClientSSocket().connectCline(ss.accept());
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void connectCline(Socket s) {
this.s = s;
try {
osw = new OutputStreamWriter(s.getOutputStream(),"GBK");
bw = new BufferedWriter(osw);
isr = new InputStreamReader(System.in,"GBK");
br = new BufferedReader(isr);
sisr = new InputStreamReader(s.getInputStream(),"GBK");
sbr = new BufferedReader(sisr);
line = br.readLine();
while(br != null){
System.out.println("server:" + new Date() + "\n" + line);
bw.write("server:" + new Date() + " " + line);
bw.newLine();
bw.flush();
readLine = sbr.readLine();
System.out.println(readLine);
line = br.readLine();
}
} catch (UnsupportedEncodingException e) {
System.out.println("不支持的编码格式,或是不存在这种编码格式!!!");
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
try{
osw.close();
bw.close();
isr.close();
br.close();
sisr.close();
sbr.close();
s.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
//客户端
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Date;
public class ChatClientSocket {
private static final String hostName= "127.0.0.01";
private InputStreamReader isr;
private OutputStreamWriter osw;
private BufferedWriter bw;
private BufferedReader br;
private String readLine;
private InputStreamReader in;
private BufferedReader bin;
private String selfLine;
public static void main(String [] args){
try {
Socket s = new Socket(hostName,8888);
new ChatClientSocket().chatClient(s);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void chatClient(Socket s){
try {
isr = new InputStreamReader(s.getInputStream(),"GBK");
osw = new OutputStreamWriter(s.getOutputStream(),"GBK");
in = new InputStreamReader(System.in,"GBK");
br = new BufferedReader(isr);
bw = new BufferedWriter(osw);
bin = new BufferedReader(in);
readLine = br.readLine();
while(readLine != null){
System.out.println(readLine);
selfLine = bin.readLine();
System.out.println("client:" + new Date() + "\n" + selfLine);
bw.write("clinet:" + new Date() + " " + selfLine);
bw.newLine();
bw.flush();
readLine = br.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try{
osw.close();
bw.close();
isr.close();
br.close();
in.close();
bin.close();
s.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
话说JAVA SOCKET同步点对点聊天程序实例 1.0
最新推荐文章于 2024-09-15 19:46:31 发布