码迷,mamicode.com
首页 > 其他好文 > 详细

IDEA Spark Streaming 操作(套接字流)-----make socket数据源

时间:2017-10-16 12:22:04      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:地址   运行   编程   random   数据源   dom   nes   while   客户端   

import java.io.PrintWriter
import java.net.ServerSocket

import scala.io.Source


object DStream_makeSocket {
  def main(args: Array[String]): Unit = {
    val file="/home/soyo/桌面/spark编程测试数据/1.txt"
    val lines=Source.fromFile(file).getLines().toList
      lines.foreach(println)
    val rowCount=lines.length //行数
    val listen= new ServerSocket(6667)
    while(true)
      {
        val socket=listen.accept()
        val thread=new Thread(){
          override def run={
            println("客户端地址为:"+socket.getInetAddress)
            val send=new PrintWriter(socket.getOutputStream,true)
            while (true)
              {
                Thread.sleep(1000)  //每隔1秒发送一次数据
               val content=lines(index(rowCount))
                println("******")
                println(content)
                send.write(content+"\n")
                send.flush()
              }
            socket.close()
          }
        }
        thread.start()
      }
  }
  def index(length:Int):Int ={
    val rd=new java.util.Random()
    rd.nextInt(length) //随机获取0-length 之间的一个数
  }

}

功能:随机读取1.txt文件内的一行 发送到6667端口

备注:需要同时运行监听程序

IDEA Spark Streaming 操作(套接字流)-----make socket数据源

标签:地址   运行   编程   random   数据源   dom   nes   while   客户端   

原文地址:http://www.cnblogs.com/soyo/p/7676149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!