AotoIT3客户端代码:

#include

;; 启动TCP

TCPStartup();

;; 建立TCP连接

$address = "127.0.0.1" ;;通讯地址

$port=8888 ;;通讯端口

$ConnectedSocket = TCPConnect($address, $port)

If @error Then

MsgBox(4112, "error", "TCP连接错误: " & @error)

EndIf

;; 发送TCP字符串

$data = "hello,i am client.";

TCPSend($ConnectedSocket, $data);

If @error Then

MsgBox(4112, "error", "发送数据连接错误: " & @error)

Else

MsgBox(64, "提示", "发送数据完成! ")

EndIf

Java服务器端代码:

package com.what21;

import java.io.IOException;

import java.net.InetSocketAddress;

import java.net.ServerSocket;

import java.nio.ByteBuffer;

import java.nio.channels.SelectionKey;

import java.nio.channels.Selector;

import java.nio.channels.ServerSocketChannel;

import java.nio.channels.SocketChannel;

import java.util.Iterator;

import java.util.Set;

public class NIOTcpServer {

private Selector selector;

public NIOTcpServer(int port) throws IOException {

// 打开服务器套接字通道

ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();

// 服务器配置为非阻塞

serverSocketChannel.configureBlocking(false);

// 检索与此通道关联的服务器套接字

ServerSocket serverSocket = serverSocketChannel.socket();

// 进行服务的绑定

serverSocket.bind(new InetSocketAddress(port));

// 通过open()方法找到Selector

selector = Selector.open();

// 注册到selector,等待连接

serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);

System.out.println("Server Start 8888.");

}

// 监听

private void listen() throws IOException {

while (true) {

// 选择一组键,并且相应的通道已经打开

selector.select();

// 返回此选择器的已选择键集。

Set selectionKeys = selector.selectedKeys();

Iterator iterator = selectionKeys.iterator();

while (iterator.hasNext()) {

SelectionKey selectionKey = iterator.next();

iterator.remove();

handleKey(selectionKey);

}

}

}

/**

* @param selectionKey

* @throws IOException

*/

private void handleKey(SelectionKey selectionKey) throws IOException {

// 接受请求

ServerSocketChannel server = null;

SocketChannel client = null;

int count = 0;

if (selectionKey.isAcceptable()) {

server = (ServerSocketChannel) selectionKey.channel();

client = server.accept();

client.configureBlocking(false);

client.register(selector, SelectionKey.OP_READ);

} else {

try{

client = (SocketChannel) selectionKey.channel();

ByteBuffer receivebuffer = ByteBuffer.allocate(4096);

count = client.read(receivebuffer);

if (count > 0) {

String receiveText = new String(receivebuffer.array(), 0, count);

System.out.println("接收数据: " + receiveText);

client.register(selector, SelectionKey.OP_CONNECT);

}

}catch(Exception e){

e.printStackTrace();

}

}

}

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

int port = 8888;

NIOTcpServer server = new NIOTcpServer(port);

server.listen();

}

}

autoit java_AutoIt3客户端和Java服务器端TCP通信相关推荐

  1. JAVA客户端数据传输_java模拟TCP通信实现客户端上传文件到服务器端

    java模拟TCP通信实现客户端上传文件到服务器端,供大家参考,具体内容如下 客户端 package com.zr; import java.io.FileInputStream; import ja ...

  2. 【零基础学Java】—TCP通信(五十四)

    [零基础学Java]-TCP通信(五十四) TCP通信:面向连接的通信,客户端和服务器端必须经过三次握手,建立逻辑连接,才能通信(安全). 通信的步骤: 服务器端先启动 服务器端不会主动的请求客户端, ...

  3. 【JAVA】TCP通信——发弹幕案例

    Java实现TCP通信--发弹幕案例 TCP通信可以实现双方相互接收发送消息,初学TCP通信,从简入难,先实现一方可以接收多方消息(一方作为服务端,多方作为客户端),即类似于观看视频的用户发送多条弹幕 ...

  4. Android客户端和Java服务器端集成支付宝

    移动端集成支付,似乎是每个App都可能面临的一件事.所有项目都在谈盈利模式,而从C端获取现金流是盈利中最重要的一个途径之一. 当前大家主要采用微信支付和阿里支付集成到自己的移动应用,虽然官方提供一些文 ...

  5. java tcp client断开重连_ESP8266_12 ESP8266客户端模式下的TCP通信

    上一节说了UDP,这一节就聊聊TCP,毕竟它俩经常同时出现.优缺点上一节也提了一下:安全性好,速度慢. 除了这两点,还有就是: TCP通信之前是需要建立连接的,如同打电话之前先拨号一样,而UDP无连接 ...

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

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

  7. 黑马JAVA P182 TCP通信快速入门

    package com.itheima.d5_socket1;import java.io.IOException; import java.io.OutputStream; import java. ...

  8. java的tcp通信项目_java实现TCP通信

    1.概述 通过ServerSocket与Socket实现的TCP的通信,这个例子配合了swing使用,其实作者之前发过一篇ServerSocker与Socket的通信,在这里,这边文章就是在这个例子上 ...

  9. JAVA通过tcp通信劳易测BCL 308i扫码枪获取数据

    最近项目里面要集成一个扫码枪,我来负责对接.不得不说,这个扫码枪属实是我见过最烦的.首先便是硬件,送过来需要自己组装,然后网线需要自己做一根来接入他们的引脚,也没有充电线需要24V电压,得需要电压转换 ...

  10. Java网络编程 - TCP通信

    文章目录 TCP通信 快速入门(一发一收) 编写客户端代码 编写服务器代码 多发多收 多发多收(同时接受多个客户端) 线程池优化 TCP通信 快速入门(一发一收) TCP协议回顾: TCP是一种面向连 ...

最新文章

  1. python自动开发之(算法)第二十七天
  2. codeforces 700B Connecting Universities
  3. Android设备音频部分一些概念
  4. html5 数据验证,【译】表单数据校验
  5. uva437The Tower of Babylon
  6. 这个地球仪太惊艳了,陪孩子畅聊天文地理。
  7. 一统江湖的大前端(4)shell.js——穿上马甲我照样认识你
  8. ubuntu创建切换超级用户
  9. (匹配)Fire Net --hdu --1045
  10. 【React】设计高质量的React组件
  11. C语言学生成绩排名系统
  12. python正则取反,一文搞定Python正则表达式
  13. 企业网站专业性诊断评价
  14. 什么是前端开发工程师
  15. 创意简约中国风新年快乐牛年大吉通用PPT模板
  16. android win10 投屏,安卓手机投影win10不成功,版本升级前可以
  17. 【LaTeX 教程】01. LaTeX 简介与安装
  18. 评委打分表模板_系高中英语作文模板——邀请信
  19. IDEA 断点调试,为啥断点没有起作用
  20. 天才制造者:独行侠、科技巨头和AI|深度学习崛起十年

热门文章

  1. Loadrunner事务与子事务函数简介
  2. mac os操作系统如何降级
  3. 大数据分析及工具应用总结
  4. 德赛西威Mib280D升级0393版本系统
  5. html 中 超链接的写法,网页超链接样式的CSS写法
  6. MMORPG开发入门[转]
  7. 理解LSTM网络(Understanding LSTM Networks)原文与翻译
  8. Deep learning-based method coupled with small sample learning for solving partial differential equat
  9. python读取odb_python - 从.odb文件中提取von mises应力值 - 堆栈内存溢出
  10. 高端门诊提示预约体检短信怎么发?