例如:客户端将d:\1.jpg图片文件上传给服务端,服务端收到后保存到d:\java\a.jpg,服务器端接收完成后,发送"上传成功"回应客户端
一:客户端实现

package Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Sockets {public static void main(String []args) {String ip="127.0.0.1";int port=1758;File file=new File("D:\\1.jpg");try {Socket socket=new Socket(ip,port);FileInputStream ins=new FileInputStream(file);OutputStream out=socket.getOutputStream();byte []b=new byte[(int) (file.length()+10)];int index=0;while((index=ins.read(b))!=-1) {out.write(b);}socket.close();ins.close();out.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} }
}

二:服务端实现:

package Test;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
public class Sever {public static void main(String []args) {int port=1758;File file=new File("D:\\java\\a.jpg");try {ServerSocket sever=new ServerSocket(port);Socket socket=sever.accept();InputStream in=socket.getInputStream();FileOutputStream outs=new FileOutputStream(file);byte []b=new byte[1024];int index=0;while((index=in.read(b))!=-1) {outs.write(b,0,index);}System.out.println("上传成功");sever.close();socket.close();in.close();outs.close();} catch (IOException e) {e.printStackTrace();                                                           }    }
}

如果在cmd命令窗口之间运行上面代码会出现这个错误:

所以要将保存的Sockets和Sever中的:package Test;去掉
如图所示:


进行上面的修改之后:如果之前还没有配置关于java的环境变量,可以访问这篇博文:https://mydreamambitious.blog.csdn.net/article/details/114886946
完成环境变量的配置之后就是到cmd命令窗口中运行:
1.首先打开一个cmd,其中完成Sockets(客户端)的编译,记住这个时候不要运行,因为服务端还没有运行起来。
2.运行服务端,还是到cmd命令中:编译Sever和运行Sever
具体过程如下:
完成Sockets的编译:

完成编译Sever和运行Sever

可以看到运行之后不会有任何的显示,这个时候需要运行客户端:

左边是Sockets(客户端)和右边Sever(服务端)运行的情况。
以上是自己在学习中总结出来的,如果其中存在什么问题,望指教,谢谢!

Java程序中Socket(关于客户端和服务端实例)相关推荐

  1. Java中Socket实现客户端和服务端通信(多线程实现全双工通信)

    效果图 目录结构 服务端Server package server;import thread.SocketReader; import thread.SocketWrite;import java. ...

  2. java网络编程Socket实现客户端向服务端发送信息

    (可按目录按需阅读,我一般会整理的比较细) 前置知识 java IO Socket 什么是socket?socket字面意思其实就是一个插口或者套接字,包含了源ip地址.源端口.目的ip地址和源端口. ...

  3. Java中Socket通信-客户端与服务端相互传输对象数据

    场景 Java中Socket通信-服务端和客户端双向传输字符串实现: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1084885 ...

  4. Java中Socket通信-客户端向服务端发送照片

    场景 Java中Socket通信-服务端和客户端双向传输字符串实现: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1084885 ...

  5. php winform通信,C# Winform 通过Socket实现客户端和服务端TCP通信

    操作界面如下: 1.声明Socket 第一个参数:寻址方式,第二个参数:传输数据的方式,第三个参数:通信协议 Socket socket = new Socket(AddressFamily.Inte ...

  6. 基于Socket实现客户端与服务端通讯

    基于Socket实现客户端与服务端通讯 socket 概述 Socket,套接字就是两台主机之间逻辑连接的端点.TCP/IP协议是传输层协议,主要解决数据如何 在网络中传输,而HTTP是应用层协议,主 ...

  7. c ibatis mysql实例_[Java教程]java程序中的ibatis连接mySql的基本实例

    [Java教程]java程序中的ibatis连接mySql的基本实例 0 2015-03-16 00:01:32 属性文件:SqlMap.properties1 driver=com.mysql.jd ...

  8. php socket 握手,python Socket之客户端和服务端握手详细介绍

    这篇文章主要为大家详细介绍了python Socket之客户端和服务端握手,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据 1 ...

  9. java基础—网络编程——TCP客户端与服务端交互

    import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import ja ...

  10. php cannot bind port to socket,PHP基于socket实现客户端和服务端通讯功能

    本文主要介绍了PHP基于socket实现的简单客户端和服务端通讯功能,可实现服务端接收客户端发送的字符串进行翻转操作后返回客户端的功能,需要的朋友可以参考下 服务端: set_time_limit(0 ...

最新文章

  1. 基于CENTOS7 Linux高可用集群LVS+Keepalived配置
  2. python语法知识_Python基础语法知识汇总(学习党的最爱!)
  3. 十六、“心念田园穿古镇,足踏古岸望潭汀。”(2021.5.15)
  4. 易语言写c盘配置文件,易语言写配置文件的方法
  5. linux 内核主线,为AM335x移植Linux内核主线代码(41)Ethernet结论篇
  6. WPF XAML 从零开始认识XAML
  7. linux7 修改服务启动项目命令,centos7服务部署flask项目
  8. matlab 将一堆文件名读到一个文本里面windows版本里
  9. 读javascript高级程序设计04-canvas
  10. CentOS 7 yum 安装 Nginx
  11. Java 实现区块链中的区块,BLOCK的实现
  12. Java知多少(2)虚拟机(JVM)以及跨平台原理
  13. 华为认证双IE网络工程师,花了三天时间整理的OSPF详解,建议收藏
  14. PHP月考---给自己建个错题本
  15. Java查询Mysql数据库时区问题(相差13/14)个小时
  16. c语言编程实现今日星期几,计算任何一天是星期几的C语言源代码.
  17. 光遇服务器维护要多久,光遇:你玩游戏多久了?半年以上的老玩家,是如何坚持下去的?...
  18. ubuntu12.04 快捷键
  19. 2019年最新面试题集绵
  20. table中同一列中合并相同项

热门文章

  1. RESTful视图之Request 与 Response
  2. 自制爬虫,爬取分类总阅读量,总评论量。全部文章阅读量和,以及评论量和。但是发现数据不对
  3. 利用CNN来检测伪造图像
  4. 残差神经网络究竟在干啥?
  5. 基于OpenCV的行人目标检测
  6. xpath 获取当前节点的父节点,兄弟节点的方法
  7. MySQL数据库-错误1166 - Incorrect column name 'xxx' 的解决方法
  8. Firefox 50优化Electrolysis
  9. .Net+SQL Server企业应用性能优化笔记3——SQL查询语句
  10. PHP CURL方法,GETPOST请求。