用JAVA实现nc指令发送消息

本文介绍如何使用JAVA模拟nc指令,向SparkStreaming发送消息。由于SparkStreaming只能监听特定服务器端口,因此需要Java实现一个TCP连接方法。方法包括启动监听服务、调用sendTCP方法发送字符串,并检查接收端是否成功获取消息。当发送大数据量时可能存在接收不完整的问题。附带源代码和相关参考资料。
摘要由CSDN通过智能技术生成

用JAVA实现nc指令发送消息

本人最近遇到一个问题需要用java向SparkStreaming发送消息,但是SparkStreaming无法直接与java建立Socket连接,只能监听某台服务器的某个端口。所以需要让java实现一个类似“nc -lk 端口号”地方法。

  • 该方法无法单独运行,需要与监听的方法配合运行
  • 1 先启动监听方法,例如SparkStreaming 接收TCP数据的服务
  • 2 调用sendTCP(string) 发送字符串消息
  • 3 查看监听程序是否获取到了发送的消息
  • 此方法还存在一个问题,发送的数据量比较大时(比如一个大约10Kb的字符串时)接听程序可能无法一次性接收。

源代码

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class JavaNCsend{

public static void sendTCP(String sendStr){
    int port = 8919;
    try {
        ServerSocket server = new ServerSocket(port);
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值