Java利用Socket实现通讯客户端的代码怎么写


这篇文章主要介绍了Java利用Socket实现通讯客户端的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java利用Socket实现通讯客户端的代码怎么写文章都会有所收获,下面我们一起来看看吧。具体客户端代码如下:
importjava.net.*; importjava.io.*; importorg.apache.log4j.Logger; publicclassSocketClient{ staticLoggerlog=Logger.getLogger(SocketClient.class.
getName());//日志记录信息 privateStringhostName; privateintportNum; privateintdelaySecond;//发文接收返回报文延时 publicSocketClient(){ this.hostName=”192.168.0.1″; this.portNum=7000; this.delaySecond=50000; pFileOp=null; } privateSocketgetSocket(){ Socketsocket=null; try{ socket=newSocket(hostName,portNum); }catch(UnknownHostExceptione){ System.out.println(“–>未知的主机名:”+hostName+”异常”); }catch(IOExceptione){ System.out.println(“-hostName=”+hostName+”portNum=” +portNum+”—->IO异常错误”+e.getMessage()); } returnsocket; } publicStringsendMessage(StringstrMessage){ Stringstr=””; StringserverString=””; Socketsocket; try{ socket=getSocket(); //socket.setKeepAlive(true); if(socket==null){//未能得到指定的Socket对象,Socket通讯为空 return”0001″; } PrintWriterout=newPrintWriter(socket.getOutputStream()); //log.info(“—->发送报文=”+strMessage); out.println(strMessage); out.flush(); BufferedReaderin=newBufferedReader(newInputStreamReader( socket.getInputStream())); longsendTime=System.currentTimeMillis(); longreceiveTime=System.currentTimeMillis(); booleanreceived=false;//成功接收报文 booleandelayTooLong=false; serverString=null; while(!received&&!delayTooLong){ if(socket.getInputStream().available()>0){ //serverString=in.readLine(); chartagChar[]; tagChar=newchar[1024]; intlen; Stringtemp; Stringrev=””; if((len=in.read(tagChar))!=-1){ temp=newString(tagChar,0,len); rev+=temp; temp=null; } serverString=rev; } receiveTime=System.currentTimeMillis(); if(serverString!=null) received=true;//字符串不为空,接收成功 if((receiveTime-sendTime)>delaySecond) delayTooLong=true;//接收等待时间过长,超时 } in.close(); out.close(); str=serverString; if(de 香港云主机layTooLong)str=”2190″;//超时标志为真,返回超时码 if(!received)str=”2190″; socket.close(); }catch(UnknownHostExceptione){ log.error(“—->出现未知主机错误!主机信息=”+this.hostName+
“端口号=” +this.portNum+”出错信息=”+e.getMessage()); str=”2191″; //System.exit(1); }catch(IOExceptione){ log.error(“—->出现IO异常!主机信息=”+this.hostName+
“端口号=” +this.portNum+”出错信息=”+e.getMessage()); e.printStackTrace(); str=”2191″; }catch(Exceptione){ str=”2177″; log.error(“—->出现未知异常”+e.getMessage()); }finally{ socket=null; str.trim(); //log.info(“—>返回的socket通讯字符串=”+str); returnstr; } } }关于“Java利用Socket实现通讯客户端的代码怎么写”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java利用Socket实现通讯客户端的代码怎么写”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注开发云行业资讯频道。

相关推荐: python中如何重命名TXT文件

这篇文章主要介绍“python中如何重命名TXT文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python中如何重命名TXT文件”文章能帮助大家解决问题。具体步骤如下:1.首先,打开python,并新建一个pyth…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 11/12 15:49
下一篇 11/12 15:49

相关推荐