基于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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。