日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java 通信 教程_Java实现简单的socket通信教程

發布時間:2025/7/14 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 通信 教程_Java实现简单的socket通信教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天學習了一下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 通信 教程_Java实现简单的socket通信教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。