java之网络编程

来源:互联网 发布:童年时光 知乎 编辑:程序博客网 时间:2024/05/16 06:17

java之网络编程
这里写图片描述

                TCP实现的服务器端和客户端:

服务器端

ServerSocket server=new ServerSocket(6666);//如果客户端连接成功立即返回一个socket对象Socket socket=server.accept();//开始io流的操作socket.getOutputStream();socket.getInputStream();

客户端
//填写主机名与端口号连接服务器

Socket socket=new Socket("localhost",6666);//开始io流的操作socket.getOutputStream();socket.getInputStream();
                UDP实现的服务器端和客户端:

服务器端

import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import java.net.UnknownHostException;//**************************服务器端public class UDPDome {    public static void main(String[] args) {        //要发送的数据        String info="hello 安卓!";        //构造UDP数据报包        byte[] b=info.getBytes();        try {        //参数1(要发送的内容) 参数2(发送的内容起始长度) 参数3(发送的内容结束长度) 参数4(目标地址) 参数4(目标端口号)            DatagramPacket dp=new DatagramPacket(b,0,b.length,InetAddress.getByName("localhost"),7777);            try {                //参数1(本程序的端口号)                  DatagramSocket ds=new DatagramSocket(8000);                try {                    //开始发送UDP数据报的包                    ds.send(dp);//发送                    ds.close();//关闭                } catch (IOException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }            } catch (SocketException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } catch (UnknownHostException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

客户端

import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;//**************************客户端端public class TestUDPDome {    public static void main(String[] args) {        String info="hello 安卓!";        byte[] b=new byte[1024];        DatagramPacket dp=new DatagramPacket(b,0,b.length);        try {            DatagramSocket socket=new DatagramSocket(7777);            System.out.println("正在接受数据");            try {                //开始接收数据                socket.receive(dp);                String s=new String(dp.getData(), 0, dp.getLength());                //打印接收到的数据                System.out.println(s);                socket.close();//关闭            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } catch (SocketException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}
原创粉丝点击