Socket不断报错!!(记得\n要加上,以及Socket上流通的是字节!还有Socket需要借助数据流来完成数据传递工作,注意输入流的导包不要导入错误,是io流包)

简介: Socket不断报错!!(记得\n要加上,以及Socket上流通的是字节!还有Socket需要借助数据流来完成数据传递工作,注意输入流的导包不要导入错误,是io流包)

Socket不断报错!!(记得\n要加上,以及Socket上流通的是字节!还有Socket需要借助数据流来完成数据传递工作,注意输入流的导包不要导入错误,是io流包)


1,在Socket 客户端上写入的是字节。



0.png


错误代码:


1.png


2,Socket 客户端写入请求指令要以 \n 结尾(这里报错添加\n后正确的根本原因:“引自评论者:小新动感光波”:)

【ps:\n结束是因为你用了readLine,socket并没有强制要求你用\n作为结尾。


2.png


错误代码:


3.png


3,io 流导错包了,快捷键ctr+shift +o 导的包可能是第一个位置的“import org.omg.CORBA.portable.InputStream;”

 

✌全部代码:

❀class TCPServerSocket


package TCPDemo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * TCP服务端
 * @author Huangyujun
 *
 */
public class TCPServerSocket {
    private final static int port = 9527;
    public static void main(String[] args) throws IOException {
        //建立服务端
        ServerSocket serverSocket = new ServerSocket(port);
        //接收客户端
        System.out.println("服务端已经开启~");
        Socket clientSocket = serverSocket.accept();
        //输入流、输出流
        InputStream inStream =  clientSocket.getInputStream();
        OutputStream outStream = clientSocket.getOutputStream();
        //打印接受的内容
        BufferedReader bufferRead = new BufferedReader(new InputStreamReader(inStream));
        String line = bufferRead.readLine();
        System.out.println("服务端已经接收消息:"  + line);
    }
}


❀class TCPSocket


package TCPDemo;
import java.io.IOException;
import java.io.OutputStream;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.util.Scanner;
/**
 * 客户端Socket
 * @author Huangyujun
 *
 */
public class TCPSocket {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        Socket socket = new Socket("localhost", 9527);    //连接服务端
        System.out.println("客户端发送消息:");
        String content  = scanner.next();
//        content += "\n";
        //输出流、输入流
        OutputStream outStream = socket.getOutputStream();
        InputStream inStream =  socket.getInputStream();
        //发送消息
        BufferedWriter bufferWriter = new BufferedWriter(new OutputStreamWriter(outStream));
//        bufferWriter.write(content);
        outStream.write(content.getBytes());
    }
}



目录
相关文章
|
8月前
|
Oracle NoSQL 关系型数据库
实时计算 Flink版操作报错之报错:java.lang.ClassNotFoundException: io.debezium.connector.common.RelationalBaseSourceConnector,如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
18天前
|
关系型数据库 MySQL Linux
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
当MySQL 8.4启动时报错“io_setup() failed with EAGAIN”时,通常是由于系统AIO资源不足所致。通过增加AIO上下文数量、调整MySQL配置、优化系统资源或升级内核版本,可以有效解决这一问题。上述解决方案详细且实用,能够帮助管理员快速定位并处理此类问题,确保数据库系统的正常运行。
61 9
|
5月前
|
网络协议 数据格式 Python
python Socket无限发送接收数据方式
Socket是指套接字,是对网络中不同主机上的应用进程之间进行双向通信的端点的一种抽象。 一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。
|
5月前
|
Unix 数据处理 Perl
|
5月前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
715 1
|
6月前
|
网络协议 Python
在Python中,我们使用`socket`模块来进行网络通信。首先,我们需要导入这个模块。
在Python中,我们使用`socket`模块来进行网络通信。首先,我们需要导入这个模块。
|
8月前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版操作报错之在执行任务时遇到了一个IO错误,具体表现为无法从本地主机(localhost)下载文件,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
网络协议
逆向学习网络篇:通过Socket建立连接并传输数据
逆向学习网络篇:通过Socket建立连接并传输数据
69 0
|
7月前
使用字节输入流报错 java.io.FileNotFoundException: srcdruid.properties (系统找不到指定的文件。)
使用字节输入流报错 java.io.FileNotFoundException: srcdruid.properties (系统找不到指定的文件。)
55 0
|
7月前
|
Java
文件操作与IO(3) 文件内容的读写——数据流
文件操作与IO(3) 文件内容的读写——数据流
50 0