一:服務端代碼:
導入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 中文參考手冊》,也希望大家多多支持武林網。 ,也希望大家多多支持武林網。