
Talkserver.java:
//talkserver.java
import java.net.*;
import java.io.*;
public class talkserver
{
public static void main(String arg[])
{
ServerSocket server;
Socket socket;
String s;
try
{
//在端口2000注册服务
server=new ServerSocket(20000);
System.out.println("正在等待连接......");
socket=server.accept();//侦听连接请求,等待连接
System.out.println("连接成功");
System.out.println("**************************************");
System.out.println(" ");
//获得对应的Socket的输入/输出流
InputStream in=socket.getInputStream();
OutputStream out=socket.getOutputStream();
//建立数据库
DataInputStream din=new DataInputStream(in);
DataOutputStream dout=new DataOutputStream(out);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
System.out.println(" 请等待客户发送信息......");
while(true)
{
System.out.println(" ");
System.out.println(" ");
s=din.readUTF();//读入从client传来的字符串
System.out.println("从客户接收的信息为:"+s);//显示字符串
if(s.trim().equals("BYE")) break;//如果是"BYE",就退出
System.out.println("请输入您要发送的信息:");
s=sin.readLine();//读取用户输入的字符串
dout.writeUTF(s);//将读取的字符串传给client
if(s.trim().equals("BYE"));//如果是"BYE就退出
}
//关闭连接
din.close();//关闭数据输入流
dout.close();//关闭数据输出流
in.close();//关闭输入流
out.close();//关闭输出流
socket.close();//关闭socket
}
catch(Exception e)
{
System.out.println("Error:"+e);
}
}
}
talkclient.java:
//talkserver.java
import java.net.*;
import java.io.*;
public class talkclient
{
public static void main(String arg[])
{
Socket socket;
String s;
try
{
//向本地服务器申请链接
//注意端口号要与服务器保持一致:2000
socket=new Socket("localhost",20000);
System.out.println("连接成功");
System.out.println("**************************************");
System.out.println(" ");
//获得对应的Socket的输入/输出流
InputStream in=socket.getInputStream();
OutputStream out=socket.getOutputStream();
//建立数据库
DataInputStream din=new DataInputStream(in);
DataOutputStream dout=new DataOutputStream(out);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
while(true)
{
System.out.print (" 请输入您要发送的信息:");
s=sin.readLine();//读取用户输入的字符串
dout.writeUTF(s);//将读取的字符串传给 server
if(s.trim().equals("BYE"))break;//如果是"BYE就退出
else
{
System.out.println(" ");
System.out.println(" ");
}
s=din.readUTF();// 从服务器读取获得的字符串
System.out.println("从服务器接收的信息为:"+s);// 打印字符串
if(s.trim().equals("BYE")) break;//如果是"BYE",就退出
}
//关闭连接
din.close();//关闭数据输入流
dout.close();//关闭数据输出流
in.close();//关闭输入流
out.close();//关闭输出流
socket.close();//关闭socket
}
catch(Exception e)
{
System.out.println("Error:"+e);
}
}
}
