文章目录

  • 客户端
  • 服务器
  • review:查询IP和端口
  • 发送文件

客户端

  1. 链接服务器Socket
  2. 发送消息
package com.ayv.try02;import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;//客户端
public class TcoClientDemo01 {public static void main(String[] args) {Socket socket =null;OutputStream os =   null;try {//知道服务器端口号InetAddress serverIP = InetAddress.getByName("127.0.0.1");int port=9999;//创建一个socket链接socket = new Socket(serverIP,port);//发送一个消息IO流os = socket.getOutputStream();os.write("hello world".getBytes());} catch (Exception e) {e.printStackTrace();} finally {//异常if(os!=null){try {os.close();} catch (IOException e) {e.printStackTrace();}}if(socket!=null){try {socket.close();} catch (IOException e) {e.printStackTrace();}}}}
}

服务器

  1. 建立服务的端口 serverSocket
  2. 等待用户的链接 accept
  3. 接收用户的消息
package com.ayv.try02;import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;//服务端
public class TcpServeDemo02 {public static void main(String[] args) {ServerSocket serverSocket=null;Socket socket =null;InputStream is =null;ByteArrayOutputStream baos =null;try {                 serverSocket = new ServerSocket(9999);//等待客户端连接socket = serverSocket.accept();//读取客户端消息is = socket.getInputStream();//管道流baos = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len;while((len=is.read(buffer))!=-1){baos.write(buffer,0,len);}System.out.println(baos.toString());} catch (Exception e) {e.printStackTrace();} finally {if(baos!=null){try {baos.close();} catch (IOException e) {e.printStackTrace();}}if(is!=null){try {is.close();} catch (IOException e) {e.printStackTrace();}}if(socket!=null){try {socket.close();} catch (IOException e) {e.printStackTrace();}}if(serverSocket!=null){try {serverSocket.close();} catch (IOException e) {e.printStackTrace();}}}}
}

review:查询IP和端口

package com.ayv.try01;import java.net.InetAddress;
import java.net.UnknownHostException;
//测试IP
public class TestInetadderss {public static void main(String[] args) {//InetAddress intAddress1 = null;try {//查询本机地址InetAddress intAddress1 = InetAddress.getByName("127.0.0.1");System.out.println(intAddress1);InetAddress intAddress3 = InetAddress.getByName("localhost");System.out.println(intAddress3);InetAddress intAddress4 = InetAddress.getLocalHost();System.out.println(intAddress4);//查询网站IP地址InetAddress intAddress2 = InetAddress.getByName("www.baidu.com");System.out.println(intAddress2);} catch (UnknownHostException e) {e.printStackTrace();}}
}

发送文件

//服务端
package com.ayv.try02;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;public class TcpServerDamo2 {public static void main(String[] args) throws Exception {//创建服务ServerSocket serverSocket = new ServerSocket(9000);//监听客户端的链接Socket socket = serverSocket.accept(); /**阻断式监听,会一直等待客户端链接*///获取输入流InputStream is = socket.getInputStream();//文件输入FileOutputStream fos = new FileOutputStream(new File("receive.jpg"));byte[] buffer = new byte[1024];int len;while((len=is.read(buffer))!=-1){fos.write(buffer,0,len);}fos.close();is.close();socket.close();serverSocket.close();}}
//客户端
package com.ayv.try02;import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;public class TCPClientDamo2 {public static void main(String[] args) throws Exception {//创建一个Socket链接Socket socket = new Socket(InetAddress.getByName("127.0.0.1"), 9000);//创建一个输出流OutputStream os = socket.getOutputStream();//读取文件FileInputStream fis = new FileInputStream(new File("观望.jpg"));//写出文件byte[] buffer = new byte[1024];int len;while((len=fis.read(buffer))!=-1){os.write(buffer,0,len);}//关闭资源fis.close();os.close();socket.close();}
}

TCP(发消息:简易代码实现)相关推荐

  1. java tcp发消息给硬件_java – TCP客户端/服务器通信只发送第一条消息?

    我在java中设置一个简单的TCP客户端服务器交互. 服务器: 服务器是用Java编写的桌面客户端: import java.io.BufferedReader; import java.io.Dat ...

  2. java tcp发消息给硬件_服务器可以使用TCP向客户端发送消息吗?

    如果您有自定义客户端(例如,不是浏览器中的Web应用程序),则可以根据需要与服务器 Build 纯TCP连接 . 但是,TCP上的每次传输都需要双方正在使用的某种数据格式(通常称为"协议&q ...

  3. python qq自动发消息软件_Python之qq自动发消息的示例代码

    准备:pip install win32gui 可能遇到的麻烦: No module named 'win32gui' 的解决方法(踩坑之旅) 源码: import win32gui import w ...

  4. WPF仿微信界面发送消息简易版

    WPF仿微信界面发送消息简易版 参考别的博主的例子用WPF MVVM框架来仿了一个微信聊天界面,做了个发送消息简易功能,下面一起来看看吧! 以下为View视图布局代码,消息对话框的样式直接在这里定义了 ...

  5. Unity中进行网络通信:三:unity客户端和Unity服务端互相发消息

    目录 一.目的 1.想知道:Unity中进行网络通信:unity客户端和Unity服务端互相发消息 二.参考 1.unity3D中使用Socket进行数据通信(三) 三.操作:一:完成:在同一个Uni ...

  6. send函数给FTP服务器发消息,send函数给FTP服务器发消息

    send函数给FTP服务器发消息 内容精选 换一换 Kafka系列2:深入理解Kafka消费者上篇聊了Kafka概况,包含了Kafka的基本概念.设计原理,以及设计核心.本篇单独聊聊Kafka的生产者 ...

  7. NodeJS 搭建一个本地的服务,实现一个简单的公屏发消息

    本 Chat 主要是写关于 Node.js 如何搭建一个本地的服务,然后做一个简单的可以发消息的功能. 安装 Express 安装 Nodemon 使用 Nodemon 安装 socket.io so ...

  8. python写一个文件下载器_Python3使用TCP编写一个简易的文件下载器

    原标题:Python3使用TCP编写一个简易的文件下载器 利用Python3来实现TCP协议,和UDP类似.UDP应用于及时通信,而TCP协议用来传送文件.命令等操作,因为这些数据不允许丢失,否则会造 ...

  9. Unity消息简易框架 Advanced C# messenger

    Unity消息简易框架 Advanced C# messenger Unity C# 消息机制  [转载 雨凇MOMO博客] https://www.xuanyusong.com/archives/2 ...

  10. Win7命令行局域网发消息图解

    一 操作实例 在本机实验: Win7下net send命令已经取消: 改用msg对本机发送:收到后弹出消息框: 对55机器发送,出现1722错误:可能55没有开机: Win7下已经无messenger ...

最新文章

  1. CleanMyMac扩展管理功能
  2. NetBeans 时事通讯(刊号 # 117 - Sep 16, 2010)
  3. leetcode Single Number python
  4. Spark SQL中 RDD 转换到 DataFrame (方法二)
  5. 跟着这篇柳叶刀的文章来学会重复测量方差分析
  6. javascript对页面简单的加密和解密
  7. Ubuntu中用gedit保存文件失败的解决办法
  8. 【云栖计算之旅】线下沙龙第2期精彩预告:Docker在云平台上的最佳实践
  9. 低代码发展专访系列之八:低代码平台能够打破企业「应用孤岛」现象吗?
  10. 法院才是最童叟无欺的一元店
  11. Asp.Net Core简单整理
  12. python批量读取文件赋值给一个参数_求助一个Python 循环读取文件,并对读到的字符串进行赋值,然后进一步生成json file 的方法。...
  13. php 测试数据整数,PHP中将字符串转化为整数(int) intval() printf() 性能测试
  14. Android4OpenCV实时人脸检测detectMultiScale报错
  15. python程度员要学很多英语吗_为什么程序员应该学好英语?
  16. 运动会加油稿计算机学院150字,运动会加油稿150字
  17. 2022年全国大学生数学建模竞赛赛题B组解题参考+代码
  18. table标签的介绍
  19. CPC广告业务架构总结
  20. 斐波那契回调线怎么画_知行交易学院-新手教学-斐波那契回调线的正确画法(二)...

热门文章

  1. C语言试题二十九之编写函数int function(int lim,int aa[max])求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。
  2. linux之wget和curl如何携带cookie进行链接访问
  3. C和指针之数组编程练习5 (矩阵相乘)
  4. C和指针之字符串之实现strcpy函数
  5. ubuntu环境下如何解决svn提交出现can‘t check path ‘/home/...‘
  6. Android之中获取应用程序(包)的信息-----PackageManager的使用(一)
  7. python os.walk模块_Python之os.walk和os.path.walk
  8. 5分钟盗走你的隐私照片,这个全球性漏洞到底有多可怕
  9. 理科生浪漫起来,谁都顶不住!
  10. 东北大哥在线反套路hhhhhh | 今日最佳