zoukankan      html  css  js  c++  java
  • Java网络编程学习

    近日学习webRTC,对于网络编程与JS编程一头雾水。只能踏实从最简单的开始,自己底子实在太薄。

    (1)TCP

    服务器端代码:

    import java.io.DataInputStream;  
    import java.io.DataOutputStream;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    public class Server_test{
        public static void main(String[] args)
        {
            ServerSocket server= null;
            Socket clientSocket =null;
            String str= null;
            DataOutputStream out= null;
            DataInputStream in = null;
            try{
                server =  new ServerSocket(4331);
                clientSocket=server.accept();
                in =new DataInputStream( clientSocket.getInputStream());
                out=new DataOutputStream(clientSocket.getOutputStream());
                while(true)
                {
                    str=in.readUTF();
                    out.writeUTF("hello,I am server@");
                    out.writeUTF(str);
                    System.out.println("服务器收到:"+str);
                    Thread.sleep(1000);
                }
                }catch(Exception e){
                    e.printStackTrace();
                }
        }
    }

    客户端代码:

    import java.net.Socket;
    import java.io.DataInputStream;  
    import java.io.DataOutputStream;
    public class Client_test{
        public static void main(String [] args)
        {
            String str= null;
            Socket clientSocket;
            DataInputStream in = null;
            DataOutputStream out= null;
            try{
                clientSocket = new Socket("127.0.0.1",4331);
                in = new DataInputStream(clientSocket.getInputStream());
                out= new DataOutputStream(clientSocket.getOutputStream());
                out.writeUTF("你好!!");
                while(true){
                    str= in.readUTF();
                    out.writeUTF(((int)(Math.random()*10)+1)+"");
                    System.out.println("客户端收到:"+str);
                    Thread.sleep(1000);
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }

    运行结果:

    (2) UDP

    服务器端:

    import java.io.*;
    import java.net.*;
    public class Datagram_server{
    public static void main(String[] args)
    {
        DatagramSocket serverSocket;
        try{
            serverSocket= new DatagramSocket(6000);
            byte[] recvBuf= new byte[100];
            DatagramPacket recvPacket= new DatagramPacket(recvBuf, recvBuf.length);
            serverSocket.receive(recvPacket);
            String recvStr=new String(recvPacket.getData(),0,recvPacket.getLength());
            System.out.println("Hello,"+recvStr);
            int port= recvPacket.getPort();
            InetAddress address= recvPacket.getAddress();
            String sendStr="服务器发送信息!";
            byte[] sendBuf;
            sendBuf=sendStr.getBytes();
            DatagramPacket sendPacket= new DatagramPacket(sendBuf, sendBuf.length,address,port);
            serverSocket.send(sendPacket);
            serverSocket.close();        
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    }

    客户端:

    import java.io.*;
    import java.net.*;
    public class Datagram_client{
    public static void main(String[] args){
        DatagramSocket clientSocket;
        try{
            clientSocket= new DatagramSocket();
            String sendStr= "你好,我是客户机";
            byte[] sendBuf;
            sendBuf=sendStr.getBytes();
            InetAddress addr= InetAddress.getByName("127.0.0.1");
            int port= 6000;
            DatagramPacket sendPacket= new DatagramPacket(sendBuf, sendBuf.length, addr, port);
            clientSocket.send(sendPacket);
            byte[] recvBuf= new byte[100];
            DatagramPacket recvPacket= new DatagramPacket(recvBuf,recvBuf.length);
            clientSocket.receive(recvPacket);
            String recvStr= new String(recvPacket.getData(),0,recvPacket.getLength());
            System.out.println("收到:"+recvStr);
            clientSocket.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    }

    运行结果:

  • 相关阅读:
    2019-2020-2 网络对抗技术 20172327 Exp5 信息搜集与漏洞扫描
    2019-2020-2 网络对抗技术 20172327 Exp4 恶意代码分析
    2019-2020-2 网络对抗技术 20172327 Exp3 免杀原理与实践
    2019-2020-2 网络对抗技术 20172327 Exp2 后门原理与实践
    2019-2020-2 网络对抗技术 20172327 Exp1 PC平台逆向破解
    20172327马瑞蕃 2019-2020-2 《网络对抗技术》第一周Kali的安装
    Python创建virtualenv虚拟环境方法
    unittest--单元测试框架
    Linux--SSH免密码登录
    Linux--NIS
  • 原文地址:https://www.cnblogs.com/Martin-Ma/p/5056356.html
Copyright © 2011-2022 走看看