基于Java的Socket编写的C/S聊天程序实现
一个很久以前写的能够支持C/S模式聊天的Demo,利用Java的Socket写的。
只能聊一句就下线,挺low的。
服务器端程序Server
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.net.ServerSocket;
importjava.net.Socket;
publicclassTestTcpServer{
publicstaticvoidmain(String[]args){
ServerSocketss=null;
BufferedReaderin=null;
try{
ss=newServerSocket(8888);
System.out.println("服务器启动");
Socketsocket=ss.accept();
System.out.println("连接建立");
System.out.println(socket.getInetAddress().getHostAddress());
//服务器接收客户端发送的数据
in=newBufferedReader(newInputStreamReader(socket.getInputStream()));
StringclientContent=in.readLine();
System.out.println("接收客户端消息:"+clientContent);
}catch(IOExceptione){
e.printStackTrace();
}
}
}
客户端程序Clinet
importjava.io.BufferedWriter;
importjava.io.IOException;
importjava.io.OutputStreamWriter;
importjava.net.Socket;
importjava.net.UnknownHostException;
importjava.util.Scanner;
publicclassTestTcpClient{
publicstaticvoidmain(String[]args){
Socketsocket=null;
BufferedWriterout=null;
//客户端发送数据,服务器端接收
try{
socket=newSocket("127.0.0.1",8888);
System.out.println("与服务器连接了");
Scannersc=newScanner(System.in);
Stringcontent=sc.nextLine();
out=newBufferedWriter((newOutputStreamWriter(socket.getOutputStream())));
out.write(content);
out.flush();
sc.close();
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
try{
out.close();
socket.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
运行样例
注意要先起S端,否则:
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。