一:服务端代码:
导入Java.net。*; //对于套接字,serversocket和InetAddress导入java.io*; //用于IOException和Input/outputStream公共类TCPECHOSERVER {private static final int int int bufsize = 32; //接收缓冲区的大小公共静态void main(string [] args)抛出ioexception {int servport = 5500; //创建一个服务器套接字以接受客户端连接请求serversocket servsock = new serversocket(servport); int recvmsgsize; //接收到消息字节的大小[] receionbuf = new Byte [bufSize]; //(true){//永远运行,接受和维修连接套接字clntsock = servsock.accept(); //获取客户端连接socketAddress clientaddress = clntsock.getRemotesocketDress(); system.out.println(“在” + clientaddress上处理客户端); inputStream in = clntsock.getInputStream(); outputStream out = clntsock.getOutputStream(); //接收到客户端关闭连接,以-1返回表示while((recvMSGSIZE = in.Read(recectionBuf))!= -1){out.write(recectionBuf,0,recvmsgsize); } clntsock.close(); //关闭插座。我们与这个客户一起完成了! } / *未达到 * /}}二:客户端代码:
导入Java.net。*;导入java.io*;公共类TCPechoclient {public static void main(string [] args)抛出ioexception {string server =“ 127.0.0.1”; //服务器名称或IP地址int servport = 5500; ////服务器端口字节[] data =“ hi,world” .getBytes(); //创建在指定的端口套接字上连接到服务器的套接字=新套接字(Server,Servport); system.out.println(“连接到服务器...发送回声字符串”); inputStream in = socket.getInputStream(); outputStream out = socket.getOutputStream(); out.write(数据); //将编码的字符串发送到服务器// //从服务器int totalbytesrcvd = 0接收相同的字符串; //到目前为止收到的总字节int bytesrcvd; //在上次读取中收到的字节while(totalBytesrcvd <data.length){if((((bytesrcvd = in.Read(data,tota,total bytybytesrcvd,data.length.length -lengength -totalbytesrcvd))== -1)== -1) TotalBytesrcvd += bytesrcvd; } //数据数组是完整的System.out.println(“接收:” + new String(data)); socket.Close(); //关闭插座及其流}}}tcp服务端是单线程,一次只能服务一个客户端。,一次只能服务一个客户端。
查看更多java的语法,大家可以关注:《在Java中思考JDK 1.7 jdk 1.6 API Java java jdk jdk 1.5 api java 中文参考手册》,也希望大家多多支持武林网。,也希望大家多多支持武林网。