基于TCP实现客户端与服务器的图片传送

              TCP实现计算机设备通信连接,是一种面向连接,基于字节流的传输层通信协议,我们必须要建立客户端与服务器的连接才能实现信息的交互。

               先来说说使用网络编程时会遇到的Socket相关的概念,应用程序通过Scoket来建立远程连接,Socket通过内部封装好的协议把数据传输到网络(TCP就是被封装好在socket类中)。java提供的socket相关类有ServerSocket类、Socket类。

                进行网络通信,IP地址是不可缺少的,但仅仅单使用IP地址,当多个应用程序同一时间运行,操作系统收到一个数据包,只有IP地址,它无法判断出应该发给哪一个应用程序,所以 操作系统抽象出Socket接口,每个程序通过不同的Socket(由端口号和IP地址组成),操作系统根据不同Socket对应发送到不同的应用程序。

对“服务器端”来说,它的Socket是指定的IP地址和指定的端口号;
对“客户端”来说,它的Socket 是它所在计算机的IP地址和一个由操作系统分配的随机端口号

1、首先我们来看【服务器端】 服务器要创建ServerSocket进行通信的对象,并传入一个端口号(8848)。让服务器进入“等待”待状态,等待8848端口号的连接。服务器端通过下述代码,在指定端口8848监听。

	//serverSocket:服务器端进行通信的对象
	ServerSocket server=new ServerSocket(8848);
    //服务器正式进入“等待”状态
    Socket client=server.accept();

为了待会能够确认一个客户端的连接 所以我们获取一下连接的客户端的IP并打印。

    InetAddress clientNetAddress=client.getInetAddress();
	//在服务器端打印显示客户端开始连接
	System.out.println("客户端"+clientNetAddress.getHostAddress()+"开始连接");

2、【客户端】 要和服务器连接,我们只需要一个简单的代码就可以完成,目前只讨论客户端一次连接服务器就终止程序,想要多次多个连接,服务器创建循环执行accept()方法即可。

        Socket clien
  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值