JAVA—socket编程
生活随笔
收集整理的這篇文章主要介紹了
JAVA—socket编程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、什么是socket編程
socket編程,是在不同的進程間進行網絡通訊的一種協議,在socket編程中基于TCP、UDP等協議做的一層封裝,是一套系統所提供的的用于進行網絡通信的編程接口。
二、 java實現socket代碼
客戶端java代碼:
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Scanner;public class TcpSocketClient {/*** 客戶端程序*/public void client() throws IOException {Scanner scanner = new Scanner(System.in);System.out.println("等待連接服務端!");Socket socket = new Socket("127.0.0.1", 2111);System.out.println("連接服務端成功!");while (true) {// 給服務端發信息System.out.print("請輸入:");String s = scanner.next();if ("out".equals(s)) {break;}OutputStream outputStream = socket.getOutputStream();outputStream.write(s.getBytes(StandardCharsets.UTF_8));byte[] bytes = new byte[1024];// 讀一下服務端發來的信息InputStream inputStream = socket.getInputStream();int read = inputStream.read(bytes);System.out.println("服務端:" + new String(bytes, 0, read, Charset.defaultCharset()));}}public static void main(String[] args) throws IOException {TcpSocketClient tcpSocketServer = new TcpSocketClient();tcpSocketServer.client();} }?服務端java代碼:
import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Scanner;public class TcpSocketServer {/*** 服務端程序*/public void server() throws IOException {Scanner scanner = new Scanner(System.in);// 服務端監聽 1111 端口ServerSocket serverSocket = new ServerSocket(1111);System.out.println("等待連接");Socket client = serverSocket.accept();System.out.println("連接成功!");while (true) {// 獲取客戶端輸入流InputStream inputStream = client.getInputStream();byte[] bytes = new byte[1024];int read = inputStream.read(bytes);// 客戶端發來的消息System.out.println("客戶端:" + new String(bytes, 0, read, Charset.defaultCharset()));// 給客戶端發端消息System.out.print("請輸入:");String nextLine = scanner.next();if ("out".equals(nextLine)) {break;}client.getOutputStream().write(nextLine.getBytes(StandardCharsets.UTF_8));}}public static void main(String[] args) throws IOException {TcpSocketServer tcpSocketServer = new TcpSocketServer();tcpSocketServer.server();;} }三、socket測試流程分析
先啟動服務端server,再啟動客戶端client,等待提示連接成功后就可以測試發信息了
?server啟動連接:
??client啟動連接:
?流程分析:
?
總結
以上是生活随笔為你收集整理的JAVA—socket编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android内容提供器——运行权限
- 下一篇: 第6课 仿Siri机器人-语音朗读和语音