简单的socket编程

网络通信分为TCP和UDP
socket通信分为:打开socket,使用sockt收发数据,关闭socket。
数据在两个Socket间通过IO传输。
UDP通信
udp:是面向无连接的
DatagramSocket(用来发送和接收数据报包的套接字)与DatagramPacket(数据报包)。
建立发送端,接收端。
建立数据包。
调用Socket的发送接收方法。
关闭Socket。
发送端与接收端是两个独立的运行程序。

发送端发送数据

package cn.itcast.net;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

import org.junit.Test;

public class UDPSendDemo {

    /**
     * 模拟UDP发送数据
     * 
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        System.out.println("发送端启动-----------");
        DatagramSocket datagramSocket = new DatagramSocket(8888);//8888:指定发送端的发送端口号

        String str = "UDP传输演示,哥们我来了";
        byte[] buf = str.getBytes();

        DatagramPacket dp = new DatagramPacket(buf, buf.length,
                InetAddress.getByName("127.0.0.1"), 10001);//1001:指定接受端的接受端口号

        datagramSocket.send(dp);
        datagramSocket.close();
    }

    }

}

接受端接受数据

package cn.itcast.net;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UDPReceDemo {

    /**
     * @param args
     * @throws Exception 
     */
    public static void main(String[] args) throws Exception {
        System.out.println("接收端启动......");
        DatagramSocket ds = new DatagramSocket(10001);//接受端的端口号
        byte[] buf = new byte[1024];
        DatagramPacket dp = new DatagramPacket(buf,buf.length);
        ds.receive(dp);
        String ip = dp.getAddress().getHostAddress();
        int port = dp.getPort();
        String text = new String(dp.getData(),0,dp.getLength());
        System.out.println(ip + ":" + port + ":" + text);
        ds.close();
    }

}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值