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();
        }
    }
    }

    运行结果:

  • 相关阅读:
    CentOS下crontab执行java程序
    大数据学习总结(1)任务描述
    敏捷开发总结(2)开发过程活动
    敏捷开发总结(1)软件研发过程
    持续集成(4)工具对比
    持续集成(2)整体流程
    持续集成(1)概念模型
    用户画像(3)用户画像的建模方法-事实标签
    用户画像(2)构建用户画像的数据源
    用户画像(1)用户画像的概念、意义和目标
  • 原文地址:https://www.cnblogs.com/Martin-Ma/p/5056356.html
Copyright © 2011-2022 走看看