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

java简答题 如何创建socket连接的过程

发布网友 发布时间:2022-04-20 07:06

我来回答

2个回答

热心网友 时间:2023-09-08 20:37

java socket建立连接的过程如下:
socket

1、 首先调用Socket类的构造函数,以服务器的指定的IP地址或指定的主机名和指定的端口号为参数,创建一个Socket流,在创建Socket流的过程中包含了向服务器请求建立通讯连接的过程实现。
2、 建立了客户端通讯Socket后。就可以使用Socket的方法getInputStream()和getOutputStream()来创建输入/输出流。这样,使用Socket类后,网络输入输出也转化为使用流对象的过程。
3、 使用输入输出流对象的相应方法读写字节流数据,因为流连接着通讯所用的Socket,Socket又是和服务器端建立连接的一个端点,因此数据将通过连接从服务器得到或发向服务器。这时我们就可以对字节流数据按客户端和服务器之间的协议进行处理,完成双方的通讯任务。
4、 待通讯任务完毕后,我们用流对象的close()方法来关闭用于网络通讯的输入输出流,在用Socket对象的close()方法来关闭Socket。

热心网友 时间:2023-09-08 20:37

///简单的Client/Server程序设计
//服务端 
import java.io.*;
import java.net.*;
public class Service {
 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);
    // 出错,打印出错信息
   }
   System.out.println("server------------------------------");
   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 = new PrintWriter(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);
 // 刷新输出流,使Client马上收到该字符串
        os.flush();
    // 从Client读入一字符串,并打印到标准输出上
     System.out.println("Client:" + is.readLine()+"\n");
       line = sin.readLine();
    // 从系统标准输入读入一字符串
   } // 继续循环
   os.close(); // 关闭Socket输出流
   is.close(); // 关闭Socket输入流
   socket.close(); // 关闭Socket
   server.close(); // 关闭ServerSocket
  } catch (Exception e) {
   System.out.println("Error:" + e);
   // 出错,打印出错信息
  }
 }
}

//客户端
import java.io.*;
import java.net.*;
public class Client {
 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()));
   System.out.println("Client------------------------------");
   // 由Socket对象得到输入流,并构造相应的BufferedReader对象
   String readline;
   readline = sin.readLine(); // 从系统标准输入读入一字符串
   while (!readline.equals("bye")) {
    // 若从标准输入读入的字符串为 "bye"则停止循环
    os.println(readline);
    // 将从系统标准输入读入的字符串输出到Server
    os.flush();
    // 刷新输出流,使Server马上收到该字符串
    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); //出错,则打印出错信息
  }
 }

   
//自己去研究代码 还是挺详细的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何考电焊工证书和介绍 泰迪多大可以吃美毛粉 ...毛不是很密,长大后毛会密吗?假如不会有什么方法挽救? 吃美毛粉... 四个多月的泰迪需要吃美毛粉\'钙片\'营养膏之类的保健品吗?_百度知 ... 滚筒洗衣机需要安装洗衣机底座吗 关于电源o是开还是一是开(电源o是开还是一是开) 我帮单位运输柴油80升用铁桶装的,当时无证明,我不是车主,消防队查获交... 右脚脚脖子处起三个疙瘩很痒很痛 我的脚脖有几个像是蚊子咬的疙瘩,很痒 怎么做采购 java中如何创建socket连接的过程 java Socket通信原理 祝福 诗词 对新一年美好祝愿诗句 古诗词里最美好的祝愿 求新年祝福词语 给同事发什么春节祝福,要轻松一些的(60字以内)? 幼儿园开学祝福语古诗 关于“错”的诗句 代表美好的诗词 含有错的诗句有哪些? 表达美好祝愿的诗句有哪些 关于新年的宋词 元旦快乐的诗句 关于迎新年的诗句古诗 探春令表达了作者怎样的感情 新春的古诗 《探春令》这首词主要表达了什么感情? 华为mate9安装软件被阻止怎么解决 微信小程序怎么设计呀 有没有简单的方法 java建立socket连接 java编程中,Socket通信是怎么实现的? Java Socket连接问题 java中如何创建socket连接的过程? java中Socket通信 JAVA socket通信 Java Socket 长连接怎么实现 java关于socket多连接 java中怎么判断socket是否连接成功 java中的socket是什么意思? java的socket通信 Java Socket 连接不上服务器 java socket如何实现客户端与客户端的交互? java socket连接问题 如何让socket连接跨过路由器 java中用socket实现客户端与服务端双向连接问题 java关于Socket连接错误问题 java中使用Socket连接,关闭是出异常如何处理? 减肥酵制作方法,谁会呢?求方法~~~~~~ 华为nove4进水后出现频闪之后黑屏,但是应用提示音... 华为Nova4淋雨之后手机屏幕不定时的闪一下,前置摄...