一. : :
impor java.net.*; // untuk soket, server, dan inetaddress impor java.io.*; // untuk ioException dan input/outputStream kelas publik tcpechoServer {private static final int bufsize = 32; // Ukuran menerima buffer public static void main (string [] args) melempar ioException {int servport = 5500; // Buat soket server untuk menerima permintaan koneksi klien server servsock = server baru (servport); int recvmsgsize; // Ukuran Byte Pesan yang Diterima [] RecestBuf = byte baru [bufsize]; // menerima buffer sementara (true) {// jalankan selamanya, menerima dan melayani koneksi soket clntsock = servsock.accept (); // Dapatkan koneksi klien SocketAddress clientAddress = clntsock.getRemotesocketAddress (); System.out.println ("Menangani Klien di" + ClientAddress); InputStream in = clntsock.getInputStream (); OutputStream out = clntsock.getoutputStream (); // terima sampai klien menutup koneksi, ditunjukkan oleh -1 pengembalian sementara ((recvmsgsize = in.read (recequbuf))! = -1) {out.write (recequbuf, 0, recvmsgsize); } clntsock.close (); // Tutup soketnya. Kami selesai dengan klien ini! } / * Tidak tercapai * /}}二. : :
impor java.net.*; impor java.io.*; kelas publik tcpechoclient {public static void main (string [] args) melempar ioException {string server = "127.0.0.1"; // nama server atau alamat IP int servport = 5500; //// server port byte [] data = "hai, world" .getbytes (); // Buat soket yang terhubung ke server pada soket port tertentu = soket baru (server, servport); System.out.println ("Terhubung ke Server ... Mengirim String Echo"); InputStream in = socket.getInputStream (); OutputStream out = socket.getoutputStream (); out.write (data); // Kirim string yang dikodekan ke server // menerima string yang sama dari server int TotalByTesRcVd = 0; // total byte yang diterima sejauh ini int bytesrcvd; // byte yang diterima dalam baca terakhir sementara (TotalByTesRCVD <Data.length) {if ((bytesrcvd = in.read (data, totalBytesrcvd, data.length - TotalByTesRCVD)) == -1) melempar SocketException baru ("koneksi tertutup prematur"); TotalByTesRCVD += BYTESRCVD; } // Data Array adalah full system.out.println ("Diterima:" + string baru (data)); socket.close (); // Tutup soket dan alirannya}}上述代码的 TCP 服务端是单线程 , 一次只能服务一个客户端。
查看更多 Java 的语法 , 大家可以关注 : 《Berpikir di Java 中文手册》、《 JDK 1.7 参考手册官方英文版》、《 JDK 1.6 API Java 中文参考手册》、《 JDK 1.5 API Java 中文参考手册》 , ,