问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java socket编程 用在哪里 为什么要用?

发布网友 发布时间:2022-04-23 04:44

我来回答

3个回答

热心网友 时间:2023-09-13 14:29

进程通信用,建议百度百科


简单的Client/Server程序

1.客户端程序

import java.io.*;
import java.net.*;

public class TalkClient {

    public static void main(String args[]) {

        try {
            Socket socket = new Socket("127.0.0.1", 4700);
            //向本机的4700端口发出客户请求
            BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
            //由系统标准输入设备构造BufferedReader对象
            PrintWriter os = new PrintWriter(socket.getOutputStream());
            //由Socket对象得到输出流,并构造PrintWriter对象
            BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            //由Socket对象得到输入流,并构造相应的BufferedReader对象
            String readline;
            readline = sin.readLine(); //从系统标准输入读入一字符串
            while (!readline.equals("bye")) {
                //若从标准输入读入的字符串为 "bye"则停止循环
                os.println(readline);
                //将从系统标准输入读入的字符串输出到Server
                os.flush();
                //刷新输出流,使Server马上收到该字符串
                System.out.println("Client:" + readline);
                //在系统标准输出上打印读入的字符串
                System.out.println("Server:" + is.readLine());
                //从Server读入一字符串,并打印到标准输出上
                readline = sin.readLine(); //从系统标准输入读入一字符串
            } //继续循环
            os.close(); //关闭Socket输出流
            is.close(); //关闭Socket输入流
            socket.close(); //关闭Socket
        } catch (Exception e) {
            System.out.println("Error" + e); //出错,则打印出错信息
        }
    }
}

2.服务器端程序

import java.io.*;

import java.net.*;

import java.applet.Applet;

public class TalkServer {

    public static void main(String args[]) {

        try {

            ServerSocket server = null;

            try {

                server = new ServerSocket(4700);

                //创建一个ServerSocket在端口4700监听客户请求

            } catch (Exception e) {

                System.out.println("can not listen to:" + e);

                //出错,打印出错信息

            }

            Socket socket = null;

            try {

                socket = server.accept();

                //使用accept()阻塞等待客户请求,有客户

                //请求到来则产生一个Socket对象,并继续执行

            } catch (Exception e) {

                System.out.println("Error." + e);

                //出错,打印出错信息

            }

            String line;

            BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            //由Socket对象得到输入流,并构造相应的BufferedReader对象

            PrintWriter os = newPrintWriter(socket.getOutputStream());

            //由Socket对象得到输出流,并构造PrintWriter对象

            BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));

            //由系统标准输入设备构造BufferedReader对象

            System.out.println("Client:" + is.readLine());

            //在标准输出上打印从客户端读入的字符串

            line = sin.readLine();

            //从标准输入读入一字符串

            while (!line.equals("bye")) {

                //如果该字符串为 "bye",则停止循环

                os.println(line);

                //向客户端输出该字符串

                os.flush();

                //刷新输出流,使Client马上收到该字符串

                System.out.println("Server:" + line);

                //在系统标准输出上打印读入的字符串

                System.out.println("Client:" + is.readLine());

                //从Client读入一字符串,并打印到标准输出上

                line = sin.readLine();

                //从系统标准输入读入一字符串

            } //继续循环

            os.close(); //关闭Socket输出流

            is.close(); //关闭Socket输入流

            socket.close(); //关闭Socket

            server.close(); //关闭ServerSocket

        } catch (Exception e) {

            System.out.println("Error:" + e);

            //出错,打印出错信息

        }

    }

}

热心网友 时间:2023-09-13 14:30

只要是涉及到网络编程都要用socket

热心网友 时间:2023-09-13 14:30

p2p通讯,网络通讯
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请教大师今天早上7.45买入了600516方大炭素,今天涨得不错 角位移传感器原理带你了解角位移传感器基本原理 外套袖口大了怎么改小窍门 羽绒服下摆松紧做法 羽绒服袖口包松紧视频教程 羽绒服改袖口收缩 羽绒服袖口用松紧的是怎么装 富士康董事长 富士康历任董事长 富士康法人都有谁 借钱的APP审核容易过的有哪些? 用JAVA编写一个socket通信程序。 着急用钱,哪些小额贷款审核更快一些? 用Java 的socket实现客户端的功能 什么平台借钱容易通过,审核快 有哪些借贷平台审核比较容易? 关于JAVA socket编程 什么软件可以借款的,放款最快的 java socket编程 是什么协议 java 解释下什么是Socket 给朋友发位置地图上能看到别人家的店名,看不到自己的为什么 - 信息提示 我的店位置不准,微信上不显示我店的位置 单位换算;2立方米等于多少立方厘米? 为什么微信定位找不到自己店铺位置要搜索才有? 1.中国的维和部队和救援队为世界各国做出了哪些贡献! 2.朝核立方会谈中,中国所起的作用! 谢谢!!!! 数学必修2 的公式和方程有哪些? UU跑腿可以兼职吗?一天工作多少时间? 2的立方是多少 什么是同城跑腿兼职? java socket怎么进行身份验证 求助各位,审核最容易过的贷款app有哪些?最近缺钱 java socket编程 客户端怎么断开socket Java中Socket 现在还用的多么 借款软件哪个容易审核? java socket 重连问题 有没有审核速度快的小额贷款推荐啊? 关于端午节的资料? 与端午节有关的民俗有哪些? 关于端午的知识? 端午节的来历是什么,关于端午节的传说又有哪些? 关于端午节的传说有哪些 关于端午节的古诗? 关于端午节的古诗有哪些? 关于端午节的古诗两句? 手机通讯录误删除联系人怎么恢复,很着急,求帮忙 手机通讯录不小心删除了怎么找回? 不小心删除了通讯录怎么恢复? 怎么恢复被删除的通讯录号码? 手机通讯录的号码,不小心删除了,怎样找得回来?