packagecom。socket。tcp。demo;

importjava。io。IOException;

importjava。io。OutputStream;

importjava。

net。Socket;

importjava。net。UnknownHostException;

publicclassClientDemo {

?/**

? * @param args

? * @throws IOException

? * @throws UnknownHostException

? */

?publicstaticvoidmain(String[] args) throwsUnknownHostException, IOException {

? ?//客户端发数据到服务端

? ?/*

? ? * Tcp传输,客户端建立的过程。

? ? * 1,创建tcp客户端socket服务。使用的是Socket对象。

? ? * ? 建议该对象一创建就明确目的地。要连接的主机。

? ? * 2,如果连接建立成功,说明数据传输通道已建立。

? ? * ? 该通道就是socket流 ,是底层建立好的。 既然是流,说明这里既有输入,又有输出。

? ? * ? 想要输入或者输出流对象,可以找Socket来获取。

? ? * ? 可以通过getOutputStream(),和getInputStream()来获取两个字节流。

? ? * 3,使用输出流,将数据写出。

? ? * 4,关闭资源。

? ? */

? ?//创建客户端socket服务。

? ?//连接目标服务器的地址,192。

168。1。100是目标服务器的地址,10002是目标服务器的端口

? ?Socket socket = newSocket("192。168。1。100",10002);

? ?//获取socket流中的输出流。

向服务器输出消息,即发消息到服务器

? ?OutputStream out = socket。getOutputStream();

? ?//使用输出流将指定的数据写出去。

? ?out。

write("tcp演示:哥们又来了!"。getBytes());

? ?//关闭资源。

? ?socket。close();

?}

}

======================================

packagecom。

socket。tcp。demo;

importjava。io。IOException;

importjava。io。InputStream;

importjava。net。

ServerSocket;

importjava。net。Socket;

publicclassServerDemo {

?//UDP:发送端、接收端 (无连接)

?//TCP:客户端、服务端 (要连接)先启动服务端,在启动客户端

?/**

? * @param args

? * @throws IOException

? */

?publicstaticvoidmain(String[] args) throwsIOException {

? //服务端接收客户端发送过来的数据,并打印在控制台上。

?

? ?/*

? ? * 建立tcp服务端的思路:

? ? * 1,创建服务端socket服务。通过ServerSocket对象。

? ? * 2,服务端必须对外提供一个端口,否则客户端无法连接。

? ? * 3,获取连接过来的客户端对象。

? ? * 4,通过客户端对象获取socket流读取客户端发来的数据

? ? * ? 并打印在控制台上。

? ? * 5,关闭资源。

关客户端,关服务端。

? ? */

? ?//1创建服务端对象。

? ?ServerSocket ss = newServerSocket(10002);

? ?//监听应用所在服务器的10002端口,

? ?//看有没有客户端连接过来,或者发送消息

? ?//2,获取连接过来的客户端对象。

? ?Socket s = ss。accept();//阻塞式。

? ?String ip = s。getInetAddress()。getHostAddress();

? ?//获取连接过来客户端的IP地址

? ?//3,通过socket对象获取输入流,要读取客户端发来的数据,

? ?InputStream in = s。

getInputStream();

? ?byte[] buf = newbyte[1024];

? ?intlen = in。read(buf);

? ?String text = newString(buf,0,len);

? ?System。

out。println(ip ":" text);

? ?s。close();

? ?ss。close();//关闭服务器,理论上是不用关的

?}

}

socket客户端服务端是相对的,拿到流之后写数据就行了。

全部

java向某一IP发送消息_javaTCP如何将数据发送给指定IP的客户端(求代码)谢谢! 爱问知识人...相关推荐

  1. java代码如何删除文件_Java如何删除文件和目录代码? 爱问知识人

    package book.io; import java.io.File; /** * * @author XWZ * 2007-11-27 * 删除文件或目录 */ public class Del ...

  2. 微信公众号 java发送消息_微信公众号发送消息模板(java)

    这段时间接触公众号开发,写下向用户发送消息模板的接口调用 先上接口代码 1 public staticJSONObject sendModelMessage(ServletContext contex ...

  3. python微信接口发送消息_Python 微信公众号发送消息

    #pip3 install requests importrequestsimportjsondefget_access_token():"""获取微信全局接口的凭证(默 ...

  4. python微信发送消息过于频繁_微信发送信息频率上限?

    请问有人知道微信发送信息频率上限是多少吗? 自己的机器人碰到的问题... 希望大家可以来帮助讨论下 先谢过啦 简单介绍下背景: 功能上基本上就是群发,且群发的信息对不同人是不一样的. 然后希望能够越准 ...

  5. 环信服务器发送消息ext,环信服务器发送消息

    环信服务器发送消息 内容精选 换一换 5G消息开发有两种接入方式:通过直接调用API接口详情请参见开发流程.代码样例详情请参见开发流程.代码样例通过应用魔方实现接入详情请参考进入AppCube开发环境 ...

  6. Kafka实战 - 02 Kafka生产者发送消息至topic实现数据上报

    文章目录 1. 项目背景 2. 依赖和配置 3. 生产者配置 KafkaConfiguration 4. 同步数据Topic枚举 SyncDataTopicEnum 5. 请求体 DataSyncQo ...

  7. java 实体类包含list 怎么取值_舅舅是面试官,偷偷告诉你们面试官最爱问的Java面试题...

    2015 年,因为工作岗位的变动,舅舅开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,舅舅做了大量的"功课",首先研究了几乎所有 ...

  8. 微信公众号 java发送消息_微信公众号发送模板消息 Java实现。

    本博文是测试公众号调用模板接口测试.请不要完全复制我的代码.里面的测试代码中有本人测试号的微信模板id.麻烦替换成自己的可以吗? 第一步:创建模板信息 第二步:准备模板代码实体类用到的属性自行加入就行 ...

  9. html调用短信接口发送消息的实例,HTTP电脑发送短信接口调用示例

    一.工作方式 双方通过HTTP方式交互数据,第三方可以简单的"name=value"方式发送提交内容或响应请求内容.即通过HTTP的GET/POST方式交换. 另外双方需要保证数据 ...

最新文章

  1. 【Effective Java】1.静态工厂方法来替换构造函数
  2. 学python有必要买书吗-要不要学python
  3. Altair HW FEKO+WinProp 2020中文版
  4. CTFshow 命令执行 web68
  5. pythonurllib微博登录怎么删_Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据...
  6. 深度解密Go语言之pprof
  7. could not perform addBatch
  8. Linux/Unix下tar命令详解
  9. 世界500强的科技从业者,依旧逃不出买房难的宿命
  10. 针对每个团队提出的意见和建议
  11. 【等价转换】—— min/max 的转换与互相转换
  12. 最简单详细的JavaMD5加密解密算法
  13. c++编写COM组件,并使用该组件
  14. 机器人教练SWOT分析_我国工业机器人产业发展的SWOT分析
  15. 社交网络用户行为分析,各类社交软件用户分析
  16. 2018年腾讯实习生招聘模拟笔试:硬币组合-个人思路及代码
  17. 用迭代算法实现扭蛋机例子
  18. Grafana实现SQL查询参数查询
  19. 苹果或引爆NFC支付潮 关注国内概念板块
  20. 基于E-PUCK 2.0多智能体自主协同 高频投影定位系统

热门文章

  1. CUDA功能和通用功能
  2. 机器视觉系统的几个问题解析
  3. 人工智能:深层神经网络
  4. java equal hashcode_Java(二)equal 和 hashcode使用
  5. python TypeError: ‘module‘ object is not callable
  6. Android 弱引用 (WeakReference)的使用
  7. cygwin执行.py提示找不到模块,但已经安装模块的解决办法
  8. wpf 绑定数据无法更新ui控件可能存在的问题
  9. 2022-2028年中国羧基丁腈胶乳行业市场发展调研及投资前景分析报告
  10. 《20170914-构建之法:现代软件工程-阅读笔记》