久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Java實現簡單的socket通信教程

瀏覽:4日期:2022-08-19 16:57:56

今天學習了一下java如何實現socket通信,感覺難點反而是在io上,因為java對socket封裝已經很完善了。

今天代碼花了整個晚上調試,主要原因是io的flush問題和命令行下如何運行具有package的類,不過最后問題基本都解決了,把代碼貼出來供大家參考

server

public class TcpServer { public static void main(String[] args) throws Exception { ServerSocket server = new ServerSocket(9091); try { Socket client = server.accept(); try { BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream())); boolean flag = true; int count = 1; while (flag) { System.out.println(客戶端要開始發騷了,這是第 + count + 次!); count++; String line = input.readLine(); System.out.println(客戶端說: + line); if (line.equals(exit)) { flag = false; System.out.println(客戶端不想玩了!); } else { System.out.println(客戶端說: + line); } } } finally { client.close(); } } finally { server.close(); } }}

client

public class TcpClient { public static void main(String[] args) throws Exception { Socket client = new Socket(127.0.0.1, 9091); try { PrintWriter output = new PrintWriter(client.getOutputStream(), true); Scanner cin = new Scanner(System.in); String words; while (cin.hasNext()) { words = cin.nextLine(); output.println(words); System.out.println(寫出了數據: + words); } cin.close(); } finally { client.close(); } }}

補充知識:Java-Socket通信 同時JSON傳遞與解析

服務端

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;import net.sf.json.JSONObject;public class Server_2 { public static void main(String[] args) { Scanner in=new Scanner(System.in); InputStreamReader isr; BufferedReader br; OutputStreamWriter osw; BufferedWriter rw; try { ServerSocket serverSocket=new ServerSocket(4444); Socket socket=serverSocket.accept(); isr=new InputStreamReader(socket.getInputStream()); br=new BufferedReader(isr); String str=br.readLine(); JSONObject object=JSONObject.fromObject(str); System.out.println('ID:'+object.getInt('ID')); System.out.println('Name:'+object.getString('name')); System.out.println('password:'+object.getString('password')); br.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } }}

客服端

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.Socket;import java.util.Scanner;import net.sf.json.JSONObject;public class Client_2 { public static void main(String[] args) { Scanner in = new Scanner(System.in); InputStreamReader isr; BufferedReader br; OutputStreamWriter osw; BufferedWriter rw; try { Socket socket = new Socket('localhost', 4444); osw = new OutputStreamWriter(socket.getOutputStream()); rw = new BufferedWriter(osw); User user = new User(); System.out.println('Id:'); user.setID(in.nextInt()); in.nextLine(); System.out.println('Name:'); user.setName(in.nextLine()); System.out.println('Password:'); user.setPassword(in.nextLine()); JSONObject jsonObject = JSONObject.fromObject(user); rw.write(jsonObject.toString()+'n'); rw.close(); socket.close(); } catch (Exception e) { // TODO: handle exception } }}

User

public class User { int ID; String name; String password; public int getID() { return ID; } public void setID(int iD) { ID = iD; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}

以上這篇Java實現簡單的socket通信教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 遵义县| 和龙市| 保康县| 和硕县| 民权县| 巴塘县| 澄迈县| 武威市| 兴宁市| 上杭县| 武清区| 威宁| 洪雅县| 庐江县| 宁强县| 商水县| 丹凤县| 柘荣县| 沈丘县| 广东省| 长宁县| 台东市| 宿松县| 奉新县| 海阳市| 剑阁县| 麻栗坡县| 喀喇沁旗| 鄂伦春自治旗| 北辰区| 山阳县| 鲁甸县| 崇文区| 凤庆县| 苍山县| 南宫市| 刚察县| 广宁县| 托里县| 肇庆市| 延边|