在高新技术的不断应用下,人们对于科技软件的兴趣也越来越大,都开始主动学习编程语言。很多人开始学习java,以获得更好的生活水平。今天就来为大家介绍一下java中搭建socket环境的方法并用实例的代码为大家分享。一起来看看吧。
首先,来看看如何搭建socket环境:
socket通信分为客户端和服务器端。服务器端会不停的监听,当服务器端监听到有客户端向其发送通信请求的时候,双方建立连接。通信完毕后,双方关闭连接。
我们来看如何搭建客户端,代码展示如下:
public class SocketClient
{
public static void main(String[] args) throws IOException
{
try
{
Socket socket = new Socket("127.0.0.1", 5200);
System.out.println("client start ...");
//向本机的52000端口发出客户请求
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//由系统标准输入设备构造BufferedReader对象
PrintWriter write = new PrintWriter(socket.getOutputStream());
//由Socket对象得到输出流,并构造PrintWriter对象
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//由Socket对象得到输入流,并构造相应的BufferedReader对象
String readline;
readline = br.readLine(); //从系统标准输入读入一字符串
while (!readline.equals("end"))
{
//若从标准输入读入的字符串为 "end"则停止循环
write.println(readline);
//将从系统标准输入读入的字符串输出到Server
write.flush();
//刷新输出流,使Server马上收到该字符串
System.out.println("Client:" + readline);
//在系统标准输出上打印读入的字符串
System.out.println("Server:" + in .readLine());
//从Server读入一字符串,并打印到标准输出上
readline = br.readLine(); //从系统标准输入读入一字符串
} //继续循环
write.close(); //关闭Socket输出流
in .close(); //关闭Socket输入流
socket.close(); //关闭Socket
}
catch (Exception e)
{
System.out.println("can not listen to:" + e); //出错,打印出错信息
}
}
}下面是服务器端的搭建,代码展示如下:
public class SocketService
{
public static void main(String[] args) throws IOException
{
SocketService socketService = new SocketService();
socketService.oneServer();
}
public void oneServer()
{
try
{
ServerSocket server = null;
try
{
server = new ServerSocket(5200);
System.out.println("server start is ok...");
//创建一个ServerSocket在端口5200监听客户请求
}
catch (Exception e)
{
System.out.println("can not listen to:" + e);
//出错,打印出错信息
}
Socket socket = null;
try
{
socket = server.accept();
//使用accept()阻塞等待客户请求,有客户
//请求到来则产生一个Socket对象,并继续执行
}
catch (Exception e)
{
System.out.println("Error." + e);
//出错,打印出错信息
}
String line;
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//由Socket对象得到输入流,并构造相应的BufferedReader对象
PrintWriter writer = new PrintWriter(socket.getOutputStream());
//由Socket对象得到输出流,并构造PrintWriter对象
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//由系统标准输入设备构造BufferedReader对象
System.out.println("Client:" + in .readLine());
//在标准输出上打印从客户端读入的字符串
line = br.readLine();
//从标准输入读入一字符串
while (!line.equals("end"))
{
//如果该字符串为 "bye",则停止循环
writer.println(line);
//向客户端输出该字符串
writer.flush();
//刷新输出流,使Client马上收到该字符串
System.out.println("Server:" + line);
//在系统标准输出上打印读入的字符串
System.out.println("Client:" + in .readLine());
//从Client读入一字符串,并打印到标准输出上
line = br.readLine();
//从系统标准输入读入一字符串
} //继续循环
writer.close(); //关闭Socket输出流
in .close(); //关闭Socket输入流
socket.close(); //关闭Socket
server.close(); //关闭ServerSocket
}
catch (Exception e)
{ //出错,打印出错信息
System.out.println("Error." + e);
}
}
}以上就是关于java中搭建socket环境的方法的主要内容了。并且通过实际的代码为大家展示出来,方便更好的理解。如果你对java知识感兴趣,想要了解更多java实例,敬请关注奇Q工具网。
推荐阅读: