日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

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

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

今天學(xué)習(xí)了一下java如何實(shí)現(xiàn)socket通信,感覺難點(diǎn)反而是在io上,因?yàn)閖ava對socket封裝已經(jīng)很完善了。

今天代碼花了整個(gè)晚上調(diào)試,主要原因是io的flush問題和命令行下如何運(yùn)行具有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(客戶端要開始發(fā)騷了,這是第 + 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(寫出了數(shù)據(jù): + words);

}

cin.close();

} finally {

client.close();

}

}

}

補(bǔ)充知識:Java-Socket通信 同時(shí)JSON傳遞與解析

服務(wù)端

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實(shí)現(xiàn)簡單的socket通信教程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持聚米學(xué)院。

總結(jié)

以上是生活随笔為你收集整理的java 通信 教程_Java实现简单的socket通信教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。