package newTest;

 import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket; /**
* @author liuwenlong
* @create 2020-08-10 14:29:40
*/
@SuppressWarnings("all")
public class LwlClient {
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("usage:java TcpServer port[5000~9999]");
return;
}
try {
Socket socket = new Socket(args[0], Integer.parseInt(args[1]));
OutputStream out = socket.getOutputStream();
byte b[] = new byte[300];
while (true) {
System.out.print("mymsg>");
int len = System.in.read(b);
if (len < 1) continue; if (b[len - 2] == 13 && b[len - 1] == 10) {
len = len - 2;
} else {
len = len - 1;
}
if (len == 0) continue;
out.write(b, 0, len);
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
 package newTest;

 import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket; /**
* @author liuwenlong
* @create 2020-08-10 13:38:07
*/
@SuppressWarnings("all")
class ServerThread extends Thread {
Socket socket; public ServerThread() {
} public ServerThread(Socket socket) {
this.socket = socket;
} @Override
public void run() {
try {
byte b[] = new byte[300];
InputStream in = socket.getInputStream();
while (true) {
int len = in.read(b);
System.out.println(new String(b, 0, len));
} } catch (Exception e) {
System.err.println(e.getMessage());
}
}
} public class TcpServer {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("usage:java TcpServer port[5000~9999]");
System.exit(0);
} try {
ServerSocket server = new ServerSocket(Integer.parseInt(args[0]));
while (true) {
Socket socket = server.accept();
new ServerThread(socket).start();
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}

java实现内网通信的更多相关文章

  1. 云计算之路-试用Azure:如何建立虚拟机之间的内网连接

    在阿里云上,同一个帐户创建的所有虚拟机(云服务器)之间的内网是直接连通的.而Azure则完全不一样,一开始使用时有点不知所措,后来摸索出来了——在Azure中只有处于同一个虚拟网络(Virtual N ...

  2. QuantumTunnel:内网穿透服务设计

    背景 最近工作中有公网访问内网服务的需求,便了解了内网穿透相关的知识.发现原理和实现都不复杂,遂产生了设计一个内网穿透的想法. 名字想好了,就叫QuantumTunnel,量子隧道,名字来源于量子纠缠 ...

  3. 烂泥:openvpn tun模式下客户端与内网机器通信

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 前两篇文章我们介绍了有关openvpn的搭建与配置文件的讲解,这篇文章我们再聊介绍下,在tun模式下openvpn客户端如何与内网机器通信的问题. 一.实 ...

  4. QQ通信原理及QQ是怎么穿透内网进行通信的? (转)

    原:http://f543711700.iteye.com/blog/978044#bc2344608 QQ是一个基于TCP/UDP协议的通讯软件 发送消息的时候是UDP打洞,登陆的时候使用HTTP~ ...

  5. 烂泥:openvpn双网卡客户端与内网机器通信

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 前段时间写了一篇有关openvpn搭建与内网机器通信的文章,那篇文章是基于服务器单网卡 ...

  6. p2p软件如何穿透内网进行通信

    http://blog.chinaunix.net/uid-22326462-id-1775108.html 首先先介绍一些基本概念: NAT(Network Address Translators) ...

  7. 网络打洞(P2P软件穿透内网进行通信) 原理

    http://www.cnblogs.com/gansc23/archive/2010/10/20/1857066.html 首先先介绍一些基本概念:NAT(Network Address Trans ...

  8. Linux内网环境DNS修改域名指向,JAVA应用程序能否实时切换的问题总结

    公司内网环境中许多调用资源(数据库.web接口等)都是通过内网DNS服务来进行域名-IP的映射. 但经常出现DNS映射修改完毕后,应用中连接的资源迟迟没有变更. 以前一直笼统的认为是linux的dns ...

  9. 解决外网与内网或内网之间的通信,NAT穿透

    在网络编码中会发现程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行.问题就在于NAT.首先介绍下NAT. NAT的作用NAT(Network Address Translato ...

随机推荐

  1. 全面介绍eBPF-概念

    全面介绍eBPF-概念 前面介绍了BCC可观测性和BCC网络,但对底层使用的eBPF的介绍相对较少,且官方欠缺对网络方面的介绍.下面对eBPF进行全面介绍. 目录 全面介绍eBPF-概念 BPF概述 ...

  2. C#LeetCode刷题之#35-搜索插入位置(Search Insert Position)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3979 访问. 给定一个排序数组和一个目标值,在数组中找到目标值, ...

  3. JavaScript 通过prototype改变原型的两种方式

    // -------------------- prototype 1 -------------------- function A(){} A.prototype.n = 1 let b = ne ...

  4. Vuex mapAction的基本使用

    mapAction-store中的异步方法 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new ...

  5. 生成对抗网络GAN介绍

    GAN原理 生成对抗网络GAN由生成器和判别器两部分组成: 判别器是常规的神经网络分类器,一半时间判别器接收来自训练数据中的真实图像,另一半时间收到来自生成器中的虚假图像.训练判别器使得对于真实图像, ...

  6. JS的赋值与深浅拷贝实例

    赋值 基本类型: 传值,在栈内存中的数据发生数据变化的时候,系统会自动为新的变量分配一个新的之值在栈内存中,两个变量相互独立,互不影响的 引用类型: 传址,只改变指针的指向,指向同一个对象,两个变量相 ...

  7. 虚拟化技术之kvm管理工具virsh常用基础命令(一)

    在上一篇博客中,我们了解了KVM基础架构和部署以及图形管理工具virt-manager安装虚拟机的过程,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13499 ...

  8. 【python接口自动化】- 使用requests库发送http请求

    前言:什么是Requests ?Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库.它⽐ urllib 更加⽅便,可以节约我们⼤ ...

  9. FCIS:Fully Convolutional Instance-aware Semantic Segmentation

    论文:Fully Convolutional Instance-aware Semantic Segmentation   目录 0.简介 1.Position-sensitive Score Map ...

  10. 阿里天池 NLP 入门赛 TextCNN 方案代码详细注释和流程讲解

    thumbnail: https://image.zhangxiann.com/jung-ho-park-HbnqEhMBpPM-unsplash.jpg toc: true date: 2020/8 ...