JAVA TCP协议的发送接收

原创 2007年09月19日 09:27:00

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

public class Tcp{

 public void receiver(int port)
    {
  ServerSocket serveSocket = null;
  Socket clientSocket = null;
  BufferedInputStream input = null;                                              
  byte[] buffer = new byte[1024];                                                    //平台生成的XML串
        ByteArrayOutputStream streamXML = new ByteArrayOutputStream();                    //请求数据存放对象

  try{
   serveSocket = new ServerSocket(port);                                           //在指定端口建立一个连接
   System.out.println("开始监听:");
   while (true){
    clientSocket = serveSocket.accept();                                         //收到一个信息,得到一个clientSocket
    InputStream inputStream = clientSocket.getInputStream();                     //数据缓冲区
             int count = 0;                                                            //每个缓冲区的实际数据长度
       try {
        input = new BufferedInputStream(inputStream);
        while ((count = input.read(buffer)) != -1){
         streamXML.write(buffer, 0, count);
        } 
       }catch (Exception e){
        e.printStackTrace();
       }finally{
        if (input != null){
         try {
          input.close();
         }catch (Exception f){
          f.printStackTrace();
         }
        }
       }

       System.out.println("收到如下信息:  " + streamXML.toString());
       streamXML.reset();
       inputStream.close();
    clientSocket.close();
   }
  }catch (Exception e){
   e.printStackTrace();
  }
    }
 
 public void send(String host,int port){
  
  byte[] buffer = new byte[1024];
  try{
  Socket socket = new Socket("192.168.61.146",20000);
  OutputStream outputStream = socket.getOutputStream();
  buffer = ("<package><head><requesttype>001</requesttype><user>PICC</user><code>12345678</code></head>"
      + "<body><policyno>00PICC1234567890</policyno><startdate>20070101</startdate><insured>zhangsan</insured></body>"
      + "<third><driverlist>"
      + "<driver><name>li1</name><age>20</age></driver>"
      + "</driverlist><date>19990909</date></third></package>").getBytes();
        outputStream.write(buffer);
        outputStream.flush();
        outputStream.close();
        socket.close();
  }catch (Exception e){
   e.printStackTrace();
  }
 }
 
 public static void main(String[] args) throws Exception {
  Tcp tcp = new Tcp();
  tcp.receiver(20000);
  //tcp.send("",20000);
 }
}
 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java中通过TCP协议发送和接收数据-Socket编程

TCP TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。 TCP通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端...

Java利用TCP协议发送文件(四)--完整源代码

完整的使用TCP进行wav文件发送的代码可以在我的github上面下载。     这份代码主要是用来在客户端和服务器端发送wav文件的,其实是可以发送任意类型的文件的,因此在发送的过程中,仅仅是把文...

Java利用TCP协议发送文件(三)--客户端设计

由于项目的需要,需要在手机平台上面进行传输,但是,由于android平台的开发环境比较容易使用,而且免费,同时,因为在编写数据包的时候,已经在数据包中加入了发送数据包和接收数据包的函数,因此,考虑到开...

Java利用TCP协议发送文件(二)--数据包设计

虽然TCP协议是可靠传输协议,但是,在服务器端,接受缓冲总是有限的,因此,如果不将数据进行分包发送,在传送的过程中,就无法判断接受到的数据是上一次还没发完的部分,还是新发送的数据。同时,为了更方便地对...

《java入门第一季》之tcp协议下的编程实现键盘录入数据不断地往服务器端发送数据案例

这里要封装通道流,封装键盘录入数据流。 同样地,还是两台电脑。一个客户端,一个服务器。 客户端代码: import java.io.BufferedReader; import java.io...

[Java]利用Scoket发送各类文件-实例代码-长连接-极简代码-TCP协议

[Java]利用Scoket发送各类文件-实例代码-长连接

Java利用TCP协议发送文件(一)--服务器端

最近要写一个使用TCP进行文件传输的软件,考虑客户端是使用手机的,因此,准备采用Java作为开发语言,自己本身对于Java本不熟,还好,有个热心的网友已经将TA的代码公开了,有了这个基本原型,就可以进...

TCP/IP详解--举例明白发送/接收缓冲区、滑动窗口协议之间的关系

一个例子明白发送缓冲区、接受缓冲区、滑动窗口协议之间的关系。 在上面的几篇文章中简单介绍了上述几个概念在TCP网络编程中的关系,也对应了几个基本socket系统调用的几个行为,这里再列举一个例子,由于...

java Tcp协议验证

  • 2013-12-20 08:11
  • 1.21MB
  • 下载

java TCP协议客户机

  • 2010-06-21 16:45
  • 59KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)