网络编程(TCP程序、UDP程序)

1、网络编程是指多台主机之间的数据通讯操作,其要分为客户端与服务器端。在网络通讯的实现上产生的一系列处理协议:IP、TCP、UDP等。

网络程序开发的两种模型:

C/S:要开发出两套程序,一套为客户端,一套为服务器端,当服务器端发生改变后客户端也应进行更新处理。这种开发可以由开发者自定义传输协议,并且使用一些较为私密的端口,安全性较高,但是开发与维护成本较高。

B/S:只开发一套服务器端的程序,利用浏览器作为客户端进行浏览与访问,其开发与维护的成本较低(只有一套程序),但是由于其使用的是公共的HTTP协议并且使用的是公共的80端口,所以其安全性较差。现在的开发基本上以“B/S”结构为主。

网络编程主要是C/S程序模型,其分为两种开发:TCP(可靠的数据连接)与UDP(不可靠的数据连接)

2、TCP程序的基本实现

TCP的程序开发是网络程序的最基本的开发模型,其核心特点是使用两个类实现数据的交互处理:ServerSocket(服务器端)与Socket(客户端)。

ServerSocket的主要目的是设置服务器的监听端口,而Socket需要指明要连接的服务器的地址与端口。

示例:Echo的实现(客户端:键盘输入数据,将数据发送到服务器端)

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket ;
import java.net.Socket ;
import java.util.Scanner ;
//服务器端定义
public class EchoServer {
    public static void main(String[] args) throws IOException {
        ServerSocket server = new ServerSocket(9999) ; //设置服务器端的监听端口
        System.out.println("等待客户端连接...") ;
        Socket client = server.accept() ; //有客户连接
        //接收客户端发送来的消息
        Scanner scan = new Scanner(client.getInputStream()) ; //客户端输入流
        scan.useDelimiter("\n") ; //设置分隔符
        PrintStream out = new PrintStream(client.getOutputStream()) ; //客户端输出流
        boolean flag = true ; //循环标记
      

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值