7

java上位机开发(网络编程)_嵌入式-老费的博客-CSDN博客_java上位机软件开发

 2 years ago
source link: https://feixiaoxing.blog.csdn.net/article/details/125714246
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

java上位机开发(网络编程)

嵌入式-老费 于 2022-07-11 08:42:08 发布 111

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        所谓的网络编程,一般就是指UDP、TCP编程。传统的方法就是用api或者sdk直接编程,这种方法对于简单的协议是可以的。但是对于比较复杂的协议,或者是大规模并发调用的情况,这种方法就显得不是很合适。因此,在linux上面就出现了很多的编程框架,比如说libevent、muduo等等。

        在java上面也是一样,对于简单的网络编程,也是可以通过api直接编程的,比如这里,https://www.liaoxuefeng.com/wiki/1252599548343744/1305207629676577。但是对于稍微复杂一点的程序,建议还是使用框架,这样可以省去不少麻烦。nio就是使用比较多的一种框架。

1、下载nio库

        http://www.java2s.com/Code/Jar/n/Downloadniojar.htmicon-default.png?t=M666http://www.java2s.com/Code/Jar/n/Downloadniojar.htm

2、解压nio

        同时把解压好的nio.jar拷贝到顶层目录

3、准备java代码

        代码参考了这个链接的内容,https://cloud.tencent.com/developer/article/1362838。之前的代码编译有点问题,主要是缺少import声明,并且需要把class类名重新修改了一下才能编译。



newCodeMoreWhite.png

        整个代码流程不算复杂。这是一个server程序,server监听端口9527。在handleInput函数中,如果接收到一个连接申请,那么注册到SocketChannel里面;如果是发送数据请求,那么先接收数据,接着就调用函数doWrite发送出去。

4、编译代码

javac -cp .;nio.jar process.java

5、执行代码

java -cp .;nio.jar process

6、运行结果

        执行过程中,如果没有特别的意外,一会看到这样的打印,

7365608ab0a34d1ab5d43b46bfea03fa.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK