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

TCP通信

时间:2019-08-21 12:09:12      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:input   ext   形式   print   throw   网卡   tput   连接数量   new   

TCP通信分为客户端和服务器端,实现通信必须由客户端连接服务端。

Socket类(客户端):

技术图片

技术图片

 

可以指定IP地址和端口号,可以根据IP和端口号运行服务端程序,只是IP地址的形式不同。

ServerSocket类(服务器端):

技术图片

  (1)没有绑定端口号,需要调用bind方法。

(2)可以绑定端口号,默认最大连接数量为50。

(3)可以绑定端口号,指定最大连接数量。

(4)可以绑定端口号,指定最大连接数量、IP地址。适用于计算机上有多块网卡和多个 IP。

客户端,可以一直发送数据:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class Client {
    public static void main(String[] args) throws UnknownHostException,
            IOException {
        Socket s = new Socket(InetAddress.getByName("DESKTOP-R14D2UH"), 7999);// 通过IP和端口号连接服务器
        OutputStream out = s.getOutputStream();

        out.write("客户端已启动".getBytes());
        InputStream in = s.getInputStream();
        byte[] buffer = new byte[1024];
        int length = in.read(buffer);
        System.out.println(new String(buffer, 0, length));

        while (true) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入数据到服务器:");
            String str = sc.next();
            out.write(str.getBytes());

        }

    }
}

服务器,一直接收客户端发送的数据:

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

public class Server {
    public static void main(String[] args) throws IOException {
        ServerSocket ss = new ServerSocket(7999);
        Socket s = ss.accept();// 在服务端的指定端口监听客户端发来的连接请求,并与之连接
        OutputStream out = s.getOutputStream();
        out.write("你已经连接上了服务器".getBytes());// 字节输出
        while(true){
        InputStream in = s.getInputStream();
        byte[] buffer = new byte[1024];
        int length = in.read(buffer);
        System.out.println(new String(buffer, 0, length));}
    

    }
}

 

TCP通信

标签:input   ext   形式   print   throw   网卡   tput   连接数量   new   

原文地址:https://www.cnblogs.com/zhai1997/p/11387447.html

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