一. 服务端代码:
นำเข้า Java.net.*; // สำหรับซ็อกเก็ต, Serversocket และ Inetaddress นำเข้า Java.io.*; // สำหรับ iOException และอินพุต/outputstream คลาสสาธารณะ tcpechoserver {ส่วนตัวคงที่ int สุดท้าย int bufsize = 32; // ขนาดของการรับบัฟเฟอร์โมฆะสาธารณะคงที่หลัก (สตริง [] args) พ่น ioexception {int servport = 5500; // สร้างซ็อกเก็ตเซิร์ฟเวอร์เพื่อยอมรับคำขอการเชื่อมต่อไคลเอ็นต์ Serversocket ServSock = ใหม่ Serversocket (Servport); int recvmsgsize; // ขนาดของไบต์ข้อความที่ได้รับ [] รับ buf = ไบต์ใหม่ [bufsize]; // รับบัฟเฟอร์ในขณะที่ (จริง) {// ทำงานตลอดไปการยอมรับและการเชื่อมต่อการเชื่อมต่อซ็อกเก็ต clntsock = servsock.accept (); // รับไคลเอนต์การเชื่อมต่อ socketaddress clientaddress = clntsock.getRemotesocketAddress (); System.out.println ("การจัดการไคลเอนต์ที่" + clientaddress); inputStream ใน = clntsock.getInputStream (); outputStream out = clntsock.getOutputStream (); // รับจนกว่าลูกค้าจะปิดการเชื่อมต่อที่ระบุโดย -1 return ในขณะที่ ((recvmsgsize = in.read (รับ buf))! = -1) {out.write (รับ buf, 0, recvmsgsize); } clntsock.close (); // ปิดซ็อกเก็ต เราทำกับลูกค้าคนนี้! } / * ไม่ถึง * /}}二. 客户端代码:
นำเข้า Java.net.*; นำเข้า Java.io.*; คลาสสาธารณะ tcpechoclient {โมฆะคงที่สาธารณะหลัก (สตริง [] args) พ่น IOException {สตริงเซิร์ฟเวอร์ = "127.0.0.1"; // ชื่อเซิร์ฟเวอร์หรือที่อยู่ IP int servport = 5500; //// พอร์ตเซิร์ฟเวอร์ไบต์ [] data = "hi, world" .getBytes (); // สร้างซ็อกเก็ตที่เชื่อมต่อกับเซิร์ฟเวอร์บนซ็อกเก็ตพอร์ตซ็อกเก็ตที่ระบุ = ซ็อกเก็ตใหม่ (เซิร์ฟเวอร์ Servport); System.out.println ("เชื่อมต่อกับเซิร์ฟเวอร์ ... ส่งสตริง echo"); inputStream ใน = socket.getInputStream (); outputStream out = socket.getOutputStream (); out.write (ข้อมูล); // ส่งสตริงที่เข้ารหัสไปยังเซิร์ฟเวอร์ // รับสตริงเดียวกันกลับมาจากเซิร์ฟเวอร์ int totalByTesRcvd = 0; // ไบต์ทั้งหมดที่ได้รับจนถึงตอนนี้ bytesrcvd; // ไบต์ที่ได้รับในการอ่านล่าสุดในขณะที่ (TotalByTesRcvd <data.length) {ถ้า ((bytesrcvd = in.read (data, TotalByTesRcvd, data.length - TotalByTesRcvd)) == -1) โยน SocketException ใหม่ ( TotalByTesRcvd += bytesrcvd; } // data array เป็น system.out.println ("ได้รับ:" + สตริงใหม่ (ข้อมูล)); Socket.close (); // ปิดซ็อกเก็ตและสตรีม}}上述代码的 tcp 服务端是单线程, 一次只能服务一个客户端。
查看更多 Java 的语法, 大家可以关注:《 คิดใน Java 中文手册》、《 Jdk 1.7 参考手册官方英文版》、《 JDK 1.6 API Java 中文参考手册》、《 JDK 1.5 API Java 中文参考手册》, 也希望大家多多支持武林网。也希望大家多多支持武林网。也希望大家多多支持武林网。也希望大家多多支持武林网。也希望大家多多支持武林网。也希望大家多多支持武林网。也希望大家多多支持武林网。也希望大家多多支持武林网。也希望大家多多支持武林网。,,,,,,