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

TCP通信程序

时间:2019-08-31 19:20:34      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:alt   通信协议   链路   str   throws   htm   端点   adt   资源   

 

TCP通信原理
TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象, 从而在通信的两端形成网络虚拟链路,
一旦建立 了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信。


Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信
Java为客户端提供了Socket谈,为服务器端提供了ServerSocket类
技术图片

 

TCP发送数据


TCP发送数据的步骤
①创建客户端的Socket对象(Socket)
  Socket(String hqst, int port)
②获取输出流,写数据
  OutputStream getOutputStream0
③释放资源
  void close(

public class Socket
extends Object
implements Closeable
该类实现客户端套接字(也称为“套接字”)。 套接字是两台机器之间通讯的端点。
package com.ThreadTest;
/*
    TCP发送数据的步骤
        1:创建客户端的Socket对象(Socket)
        2:获取输出流,写数据
        3:释放资源

 */

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;


public class ClientDemo {
    public static void main(String[] args) throws IOException {
//        1:创建客户端的Socket对象(Socket)
//        Socket?(InetAddress address, int port) 创建流套接字并将其连接到指定IP地址的指定端口号。
//    Socket s = new Socket(InetAddress.getByName("192.168.1806"),10000);
//        Socket?(String host, int port) 创建流套接字并将其连接到指定主机上的指定端口号。
        Socket s = new Socket("192.168.18.6", 10000);

        //获取输出流,写数据
//        Socket类下面的方法 public OutputStream getOutputStream?() throws IOException返回此套接字的输出流。
        OutputStream os = s.getOutputStream();
        os.write("我来了,hello,TCP".getBytes());

        //释放资源
        s.close();
    }
}

TCP接收数据

ServerSocket?(int port)
创建绑定到指定端口的服务器套接字。

TCP接收数据的步骤
①创建服务 器端的Socket对象(ServerSocket)
  ServerSocket(int port)
②监听客户端连接, 返回一个Socket对象
  Socket accept()
③获取输入流, 读数据,并把数据显示在控制台
  InputStream getInputStream()
④释放资源
  void close()

package com.ThreadTest;
/*
TCP接收数据的步骤

        1:创建服务器端的Socket对象(ServerSocket)
        2:获取输入流,读数据,并把数据显示在控制台
        3:释放资源

 */

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
    public static void main(String[] args) throws IOException {
//        1:创建服务器端的Socket对象(ServerSocket)
//        ServerSocket?(int port) 创建绑定到指定端口的服务器套接字。
        ServerSocket ss = new ServerSocket(10000);

//        2 accept?() 侦听要连接到此套接字并接受它。
        Socket s = ss.accept();
//        3:获取输入流,读数据,并把数据显示在控制台
        InputStream is = s.getInputStream();
        byte[] bys = new byte[1024];
        int len;
        while ((len = is.read(bys)) != -1) {
            System.out.println("数据是:" + new String(bys, 0, len));
        }
        //4 释放资源
        ss.close();


    }
}

 

TCP通信程序

标签:alt   通信协议   链路   str   throws   htm   端点   adt   资源   

原文地址:https://www.cnblogs.com/lsswudi/p/11439973.html

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