[Java] Socket/ServerSocket 控制台简单聊天程序
2011-04-19 14:16
741 查看
//服务器端代码
import java.io.*;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.SocketException;
public class ServerTest{
public static void main(String[] args){
try{
ServerSocket s = new ServerSocket(8888);
Socket s1 = s.accept(); //s1是服务器和客户端共有的
OutputStream os = s1.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
InputStream is = s1.getInputStream();
DataInputStream dis = new DataInputStream(is);
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String info;
while(true){
info = dis.readUTF();
System.out.println("客户说:"+ info);
if(info.equals("bye")){
break;
}
System.out.print("服务器说:");
info = br.readLine();
dos.writeUTF(info);
if(info.equals("bye")){
break;
}
}
dis.close();
dos.close();
s1.close();
s.close();
}
catch(SocketException e){
System.out.println("网络不正常,退出");
}
catch(IOException e){
e.printStackTrace();
}
}
}
//客户端代码
import java.io.*;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.SocketException;
public class ClientTest{
public static void main(String[] args){
try{
Socket s1 = new Socket("localhost",8888);
InputStream is = s1.getInputStream();
DataInputStream dis = new DataInputStream(is);
OutputStream os = s1.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String info;
while(true){
System.out.print("客户说:");
info = br.readLine();
dos.writeUTF(info);
if(info.equals("bye")){
break;
}
info = dis.readUTF();
System.out.println("服务器说:"+info);
if(info.equals("bye")){
break;
}
}
dis.close();
dos.close();
s1.close();
}
catch(SocketException e){
System.out.println("网络不正常,退出");
}
catch(IOException e){
e.printStackTrace();
}
}
}
先在控制台运行服务器程序, 然后在另一个控制台中运行客户端程序先从客户端发送消息, 一人发送一句.
import java.io.*;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.SocketException;
public class ServerTest{
public static void main(String[] args){
try{
ServerSocket s = new ServerSocket(8888);
Socket s1 = s.accept(); //s1是服务器和客户端共有的
OutputStream os = s1.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
InputStream is = s1.getInputStream();
DataInputStream dis = new DataInputStream(is);
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String info;
while(true){
info = dis.readUTF();
System.out.println("客户说:"+ info);
if(info.equals("bye")){
break;
}
System.out.print("服务器说:");
info = br.readLine();
dos.writeUTF(info);
if(info.equals("bye")){
break;
}
}
dis.close();
dos.close();
s1.close();
s.close();
}
catch(SocketException e){
System.out.println("网络不正常,退出");
}
catch(IOException e){
e.printStackTrace();
}
}
}
//客户端代码
import java.io.*;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.SocketException;
public class ClientTest{
public static void main(String[] args){
try{
Socket s1 = new Socket("localhost",8888);
InputStream is = s1.getInputStream();
DataInputStream dis = new DataInputStream(is);
OutputStream os = s1.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String info;
while(true){
System.out.print("客户说:");
info = br.readLine();
dos.writeUTF(info);
if(info.equals("bye")){
break;
}
info = dis.readUTF();
System.out.println("服务器说:"+info);
if(info.equals("bye")){
break;
}
}
dis.close();
dos.close();
s1.close();
}
catch(SocketException e){
System.out.println("网络不正常,退出");
}
catch(IOException e){
e.printStackTrace();
}
}
}
先在控制台运行服务器程序, 然后在另一个控制台中运行客户端程序先从客户端发送消息, 一人发送一句.
相关文章推荐
- [Java] Socket/ServerSocket 控制台简单聊天程序
- [Java] Socket/ServerSocket/Thread 控制台聊天程序--两人任意聊
- java-用java.net.Socket和java.net.ServerSocket实现简单的聊天程序
- java用socket和serversocket实现一对一聊天(java实现简单的TCP聊天程序)
- [Java] Socket/ServerSocket/Thread 控制台聊天程序--两人任意聊
- Java 基于socket thread 简单聊天程序
- 使用ServerSocket、Socket创建一个简单的服务聊天程序
- 套接字(socket)编程简单实现server-client聊天程序
- 【java学习记录】12.用Socket网络访问方法,实现简单的网络聊天程序
- [JavaWeb基础] 024.Socket编程之简单的聊天程序
- Java: 写个简单的Client,Server聊天程序
- java用ServerSocket类结合io流实现一对一聊天(java实现简单的TCP聊天程序只能用telnet连接后方可使用)
- java Socket ServerSocket 聊天程序 。 太简单的程序了
- JAVA系列课程讲座二:使用Socket通信实现简单聊天通信程序(UDP方式)
- java swing实现简单的socket通讯聊天程序源码
- Java网络学习笔记1:用(Server)Socket编写简单的客户/服务器程序
- JavaAWT简单Socket多人聊天程序(简单明了)
- QT类似 4000 于QQ的即时聊天程序用开发QTcpServer,QTcpSocket简单开发
- Java 基于多客户端的ServerSocket—聊天服务器端,客户端Socket “操作文件”系统的程序拼接
- QT类似于QQ的即时聊天程序用开发QTcpServer,QTcpSocket简单开发