zoukankan      html  css  js  c++  java
  • Java 网络编程 简单接触TCP

      TCP是面向连接的而UDP是面向无连接,这个大家都知道。在编程可以很明显的看到,UDP之间发送数据是对等的。例如A向B发送数据,A只要知道B的IP地址和端口就可以将数据包发过去,B设置好接收端口就可以接收数据包,同样的B向A发送数据也是。但在TCP里就有些不一样的,他是有主从之分的,主端是服务器端,客端是客户端,这不是废话嘛。= =!可以有多个客户端向服务器发送数据,如果一个客户端正在发送数据,还没发送完,而此时有另一个客户端向服务器端发出申请想要连接他,那么此时这个客户端会进入阻塞状态。在TCP里进入WHILE的死循环,不断等待客户端的连接,并将接收到的数据显示出来。。

      对于TCP和UDP就简单的了解到这里……贴两段JAVA的TCP的代码。大概的思想我理解了,虽然这两段很简单,可是时间久了,有一天我想我也会忘记代码写的,贴在这里方便有一天回忆下。

      TCP的Server端

    import java.net.*;
    import java.io.*;
    
    public class TCPServer{
        public static void main(String[] args) throws Exception{
            ServerSocket ss = new ServerSocket(6666);
            
            while(true){
                Socket s = ss.accept();
                
                DataInputStream dis = new DataInputStream(s.getInputStream());
                System.out.println(dis.readUTF());
                
                dis.close();
                s.close();
                
                //System.out.println("A Client Connect");
            }        
        }
    }

      TCP的Client端

    import java.net.*;
    import java.io.*;
    import java.util.*;
    
    public class TCPClient{
        public static void main(String[] args) throws Exception{
            Socket s = new Socket("127.0.0.1",6666);
            
            OutputStream os = s.getOutputStream();
            DataOutputStream dos = new DataOutputStream(os);
    
            Scanner reader = new Scanner(System.in);        
            String str = reader.next();
    
            dos.writeUTF(str);
            dos.close();
            s.close();
        }
    }
  • 相关阅读:
    使用CXF开发Web Service服务
    IT成长中的龟兔赛跑
    IT成长中的龟兔赛跑
    什么是共识算法
    python字节序列
    数据分析必备的统计学(二):假设检验
    以太坊Casper 与 分片
    以太坊君士坦丁堡(Constantinople)升级公告
    以太坊基金会:前路,2018
    以太坊团队·2017年第四季度总结
  • 原文地址:https://www.cnblogs.com/cxeye/p/2698054.html
Copyright © 2011-2022 走看看