志在指尖
用双手敲打未来

Java Socket编程最简单示例tcp

JavaSocket编程最简单示例tcp

以下是1对1的通讯编程完成,后续会持续学习一个服务器监听多个客户端的完成。
这里用到的主要过程如下:
第一步:以特定端口(如4800)新建socket目标
第二步:以体系输入设备结构BufferedReader目标,该目标用于接纳体系键盘输入的字符
第三步:以socket目标得到输出流来结构PrintWriter
第四步:以socket目标得到输入流来结构相应的BufferedReader目标,该目标用于接纳server端发送过来的信息
我理解到的封闭socket:先开的后封闭,socket最后封闭。
以下是客户端的代码完成:
packagecom.fan.socket;
importjava.io.*;
importjava.net.Socket;
publicclassSocketClient{
publicstaticvoidmain(String[]args)throwsIOException{
try{
Socketsocket=newSocket(“127.0.0.1”,4800);
System.out.println(“clientstart…”);
//向本机的4800端口宣布客户请求
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
//由体系规范输入设备结构BufferedReader目标
PrintWriterwrite=newPrintWriter(socket.getOutputStream());
//由Socket目标得到输出流,并结构PrintWriter目标
BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream()));
//由Socket目标得到输入流,并结构相应的BufferedReader目标
Stringreadline;
readline=br.readLine();//从体系规范输入读入一字符串
while(!readline.equals(“end”)){
//若从规范输入读入的字符串为”end”则中止循环
write.println(readline);
//将从体系规范输入读入的字符串输出到Server2
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(Exceptione){
System.out.println(“cannotlistento:”+e);//犯错,打印犯错信息
}
}
}
服务端代码完成:
packagecom.fan.socket;
importjava.io.*;
importjava.net.ServerSocket;
importjava.net.Socket;
publicclassSocketService{
publicstaticvoidmain(String[]args)throwsIOException{
SocketServicesocketService=newSocketService();
socketService.oneServer();
}
publicvoidoneServer(){
try{
ServerSocketserver=null;
try{
server=newServerSocket(4800);
System.out.println(“serverstartisok…”);
//创立一个ServerSocket在端口4800监听客户请求
}catch(Exceptione){
System.out.println(“cannotlistento:”+e);
//犯错,打印犯错信息
}
Socketsocket=null;
try{
socket=server.accept();
//使用accept()阻塞等待客户请求,有客户
//请求到来则产生一个Socket目标,并持续履行
}catch(Exceptione){
System.out.println(“Error.”+e);
//犯错,打印犯错信息
}
Stringline;
BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream()));
//由Socket目标得到输入流,并结构相应的BufferedReader目标
PrintWriterwriter=newPrintWriter(socket.getOutputStream());
//由Socket目标得到输出流,并结构PrintWriter目标
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
//由体系规范输入设备结构BufferedReader目标
System.out.println(“Client:”+in.readLine());
//在规范输出上打印从客户端读入的字符串Java
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(Exceptione){//犯错,打印犯错信息
System.out.println(“Error.”+e);
}
}
}

未经允许不得转载:IT技术网站 » Java Socket编程最简单示例tcp
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载