Java 网络编程应用

实验目的

        掌握网络通信协议及相关程序设计。

实验要求

1. 给与数据报通信相关的代码加上详细注释,并对数据报通信流程进行介绍(20')。

2. 利用套接字通信方式编写一个程序,该程序生成两个客户端,一个服务器端,两个客户端可以通过服务器相互进行简短的文字交流。在报告中附上程序截图、完整的运行结果和简要文字说明,文字说明需要包含对套接字通信流程的介绍。(60分: 套接字连接5分(如用数据报通信扣5分),两个客户端10分,一个服务器端5分,实现文字交流10分,程序注释和截图10分,运行结果截图10分,文字说明10分)

实验步骤

1.数据报通信,简称UDP通信,UDP代表的是用户数据报协议,它是一种无连接,不可靠的网络传输协议。

它可以直接在两个主机上直接传送数据,而不需要通过中间服务器。

它具有低延迟、开销小、支持广播和多播以及简单等优点,但也存在着不可靠性、无序性、数据包大小限制以及不支持阻塞机制等缺点。

在UDP通信中,发送方将数据封装成数据包(Datagram),并指定接收方的IP地址和端口号作为目标地址。然后,发送方将数据报直接(mail)发送到网络中,而不需要经过中间服务器的转发。接收方通过监听指定端口,接收发送方发送的数据包。

UDP协议分为接收和发送两边部分,具体操作分别为:

用户A:

package net;

import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class A extends JFrame implements Runnable, ActionListener
{
    JTextField outMessage = new JTextField(12);
    JTextArea inMessage = new JTextArea(12,20);
    JButton b = new JButton("发送数据");

    A()
    {
        super("I AM A");
        b.addActionListener(this);
        setSize(320,200); setVisible(true);
        JPanel p = new JPanel();
        p.add(outMessage);
        p.add(b);
        Container con = getContentPane();
        con.add(new JScrollPane(inMessage), BorderLayout.CENTER);
        con.add(p, BorderLayout.NORTH);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        validate();

        Thread thread = new Thread(this);
        thread.start(); //创立线程,负责接收数据
    }

    //UDP传输——发送数据代码部分
    public void actionPerformed(ActionEvent event)
    {
        // 单击按钮发送数据
        //定义字符数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值