Pengaturcaraan soket Java merujuk kepada proses penggunaan bahasa Java untuk komunikasi rangkaian, termasuk operasi seperti mewujudkan sambungan, menghantar data dan menutup sambungan. Java menyediakan dua kelas, java.net.Socket dan java.net.ServerSocket, untuk menyokong pengaturcaraan Socket.
Java Socket programming merujuk kepada proses penggunaan bahasa Java untuk komunikasi rangkaian, termasuk operasi seperti mewujudkan sambungan, menghantar data dan menutup sambungan. Java menyediakan dua kelas, java.net.Socket dan java.net.ServerSocket, untuk menyokong pengaturcaraan Socket.
Socket merujuk kepada "soket", iaitu jambatan antara lapisan aplikasi dan lapisan pengangkutan dan digunakan untuk komunikasi dua hala pada rangkaian. Dalam pengaturcaraan Socket, komunikasi antara klien dan pelayan perlu dilaksanakan melalui Socket. Pelanggan menghantar permintaan kepada pelayan melalui Socket, dan pelayan mengembalikan respons selepas menerima permintaan, melengkapkan keseluruhan proses komunikasi.
Model komunikasi soket terbahagi kepada dua jenis: TCP dan UDP. TCP ialah protokol penghantaran yang boleh dipercayai yang menjamin integriti dan keteraturan data dan sesuai untuk senario yang memerlukan penghantaran yang boleh dipercayai. UDP ialah protokol penghantaran tanpa sambungan Ia tidak menjamin integriti dan keteraturan data Ia sesuai untuk komunikasi masa nyata, penghantaran media penstriman dan senario lain.
Proses pengaturcaraan soket secara amnya merangkumi langkah-langkah berikut
Pelanggan perlu mencipta objek Soket untuk menyambung ke pelayan, dan pelayan perlu mencipta objek ServerSocket untuk menunggu klien menyambung. Kaedah membuat Socket dan ServerSocket adalah seperti berikut
// 创建 Socket Socket socket = new Socket(String host, int port); // 创建 ServerSocket ServerSocket serverSocket = new ServerSocket(int port);
di mana hos mewakili alamat pelayan dan port mewakili nombor port.
Sebelum membuat sambungan, anda perlu mengikat Soket ke alamat dan port tempatan untuk penghantaran data. Kaedah mengikat alamat Soket adalah seperti berikut
// 绑定 Socket 地址 socket.bind(SocketAddress bindpoint);
di mana titik bind ialah alamat dan port yang akan diikat.
Selepas mencipta objek ServerSocket, anda perlu memanggil kaedah accept() untuk mula menunggu permintaan sambungan pelanggan. Selepas mencipta objek Socket, anda perlu memanggil kaedah connect() untuk menyambung ke pelayan. Proses sambungan adalah seperti berikut
// 服务器等待连接 Socket socket = serverSocket.accept(); // 客户端连接服务器 socket.connect(SocketAddress endpoint);
di mana titik akhir adalah alamat pelayan dan port.
Selepas sambungan diwujudkan, pelanggan boleh menggunakan OutputStream dalam Socket untuk menghantar data ke pelayan, dan pelayan boleh menggunakan InputStream dalam Socket untuk menerima data yang dihantar oleh klien. Pelanggan boleh menggunakan InputStream dalam Socket untuk menerima data yang dihantar oleh pelayan, dan pelayan boleh menggunakan OutputStream dalam Socket untuk menghantar data kepada klien. Kaedah menghantar dan menerima data adalah seperti berikut
// 客户端向服务器发送数据 OutputStream outputStream = socket.getOutputStream(); outputStream.write(byte[] b); // 服务器向客户端发送数据 InputStream inputStream = socket.getInputStream(); inputStream.read(byte[] b);
di mana byte[] b mewakili data yang akan dihantar atau diterima.
Selepas komunikasi tamat, sambungan perlu ditutup untuk melepaskan sumber. Kaedah menutup sambungan adalah seperti berikut
socket.close(); serverSocket.close();
Nombor port yang digunakan dalam pengaturcaraan Socket mestilah port bukan simpanan sistem, jika tidak, ia akan menyebabkan ralat bahawa pelabuhan diduduki.
Dalam pengaturcaraan Soket, pelbagai situasi abnormal mungkin berlaku dalam komunikasi rangkaian, seperti tamat masa sambungan, gangguan sambungan, dsb. Oleh itu, apabila menulis program Socket, kemungkinan pengecualian harus dikendalikan.
Apabila memprogramkan Soket, anda harus mempertimbangkan isu beban rangkaian Jika beban rangkaian terlalu tinggi, ia boleh menyebabkan kegagalan sambungan atau kegagalan penghantaran data.
Java Socket programming ialah kaedah pengaturcaraan berdasarkan komunikasi rangkaian, yang boleh merealisasikan komunikasi dua hala antara pelanggan dan pelayan. Dalam pengaturcaraan Socket, dua kelas, Socket dan ServerSocket, perlu digunakan untuk melaksanakan komunikasi rangkaian Isu seperti beban rangkaian dan keadaan tidak normal juga perlu dipertimbangkan.
Atas ialah kandungan terperinci apakah pengaturcaraan soket java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!