一.通信中常用到的命令行命令
1.查看你的电脑与其他服务器的连接信息-->>netstat -an
当你在命令行中输入netstat -an 并回车后会出现如图所示的界面:
其中:
第一列 | | 第二列 | | 第三列 | | 第四列 | 协议是 TCP 还是 UDP | | 本地地址由IP和端口组成 | | 目标机器地址由IP和端口组成 | | 连结状态 |
2.检查目标网站是否与本机是否可以连接也就是所谓的是否可以ping的通
当你在命令行中输入ping taobao.com(仅仅是一个例子只要ping 后面是网址或者是IP地址)
回车后会看到
3.连接某网站telnet
如:telnet taobao.com 80 回车
其中taobao.com为网址也可以为IP地址 80代表端口且为默认的端口
4.查看本机与目标服务器之间经过多少服务器-->>tracert
当你在命令行中输入tracert taobao.com并回车后命令行中就会显示
途中经过多少个服务器并将服务器的IP地址输出
二.实现编译器向命令行发送信息
代码如下:
/**
* 简单通信只实现了从代码中向命令行中发送一条信息
*
* @author:Andrew
*/
public class ChatServer(){
//主函数
public static void main(String[] args){
ChatServer chat = new ChatServer();
chat.setUpServer(8000);
}
/**
* 启动服务器
* @param port:端口
*/
private void setUpServer(int port){
try{
//建立指定端口的服务器
ServerSocket server = new ServerSocket(port);
Socket client = server.acceept();
OutputStream out = client.getOutputStream();
String str = "我的第一个通信项目";
byte[] data = str.getBytes();
out.write(data);
out.flush();
client.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
运行上面的代码然后再打开命令行
输入:telnet localhost 8000
回车后即可看到命令行输出:我的第一个通信项目
如果打开命令行输入:telnet localhost 8000
回车后被告知不是内部命令
请打开"我的电脑"在搜索中搜索telnet然后将 telnet.exe
拷贝到C:\Windows\System32 目录下即可
三.实现命令行与java编译软件间的通信仅以Eclipse为例
代码如下:
package threadTalk;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 多个命令行聊天的入口
* @author Andrew
*
*/
public class Main {
/**
* 主程序
*/
public static void main(String[] args) {
Main m = new Main();
m.setUpServer(9090);
}
/**
* 启动一个服务器
* @param port 端口号
*/
private void setUpServer(int port){
try {
//建立服务器对象
ServerSocket server = new ServerSocket(port);
System.out.println("端口:"+port);
while(true){
Socket socket = server.accept();
ServerThread st = new ServerThread(socket);
st.start();
System.out.println("启动线程!");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package threadTalk;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
/**
* 聊天线程类
* 功能:在命令行中实现多人聊天
* @author Andrew
*
*/
public class ServerThread extends Thread{
private Socket socket;
public ServerThread(Socket socket){
this.socket = socket;
}
public void run(){
this.sendAndGetInfo();
}
/**
* 发送并接收信息
*/
private void sendAndGetInfo(){
try {
//获得输入流对象
InputStream input = socket.getInputStream();
String s = "你好!\n";
this.sendInfo(s);
String inputStr = this.getInfo(input);
while(!"bye".equals(inputStr)){
s = "你的话语:"+inputStr+"\n";
this.sendInfo(s);
inputStr = this.getInfo(input);
}
s = "欢迎再来!";
this.sendInfo(s);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 向命令行发送信息的方法
* @param str 要发送的信息
*/
private void sendInfo(String str){
try {
OutputStream out = socket.getOutputStream();
out.write(str.getBytes());
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 从另一个命令行中读取信息
* @param input 基本输入流
* @return 读取到的信息
* @throws IOException
*/
private String getInfo(InputStream input) throws IOException{
//创建字符串缓冲区
StringBuffer buffer = new StringBuffer();
//读取的字节
int read_Info = 0;
while(13 != read_Info){
read_Info = input.read();
char char_Info = (char)read_Info;
buffer.append(char_Info);
}
String str_Info = buffer.toString().trim();
return str_Info;
}
}
- 大小: 75 KB
- 大小: 40.8 KB
- 大小: 35.1 KB
分享到:
相关推荐
Java中Socket通信-服务端和客户端双向传输字符串实现示例代码。在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的...
在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。 socket 的典型应用就是 ...
网络通信技术中socket通信技术是比较常用的一种,由于他比较灵活所以大部分项目都是用socket技术实现服务通信
在Java Socket通信中,服务端通常会创建一个ServerSocket对象,监听指定端口上的连接请求。一旦有客户端发起连接,ServerSocket就会接受连接并返回一个新的Socket对象,用于与客户端进行数据交换。在客户端,我们会...
首先,Java Socket通信基于TCP(传输控制协议),它确保了数据的可靠传输,包括数据的顺序和无丢失。在聊天应用中,服务器端创建一个Socket监听特定的端口,等待客户端的连接请求。一旦客户端连接到服务器,它们之间...
在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。 socket 的典型应用就是 ...
Java实现的简单Socket通信是网络编程中的基础技术,主要用于设备间的双向数据传输。在这个场景中,我们有两个窗口,一个作为服务器端,另一个作为客户端,它们通过TCP协议进行通信。TCP是一种面向连接的、可靠的传输...
Java Socket通信是网络编程中的重要一环,它提供了在两台计算机之间建立低级连接的能力,使得它们可以相互通信。在这个"java上socket通信即时通信界面本"中,我们很显然关注的是如何使用Java来构建一个具有图形用户...
Java Socket通信实现是一种基于TCP/IP协议的网络通信方式,它允许两台计算机通过互联网进行双向数据传输。在Java中,Socket类和ServerSocket类是实现客户端-服务器模型通信的核心工具。下面将详细介绍Java Socket...
Java和C++之间的Socket通信是跨语言网络编程的一个常见应用场景。Socket是计算机网络中的一个通信协议,它允许不同操作系统上的应用程序之间建立连接并交换数据。在这个场景中,Java作为客户端,C++作为服务端,两者...
同时,我们也了解到Java和Python两个语言平台之间的差异和相似之处,在跨语言平台的通信中,需要注意语言之间的差异和相互调用机制。 在实际应用中,Socket 通信机制广泛应用于各种网络应用程序,例如聊天软件、...
Java和C++之间的Socket通信是跨语言网络编程的一个常见应用场景,尤其在系统集成、设备通讯或者混合编程中。Socket提供了一种基于TCP/IP协议的进程间通信(IPC)方式,可以实现在不同操作系统上的进程之间的数据传输...
本教程将详细解释如何在Android中实现Java和C的Socket通信,特别是在涉及文件描述符传递的场景下。 1. **Java Socket基础** Java中的`java.net.Socket`类提供了网络通信的能力,它允许我们在两个应用程序之间建立...
Java中的Socket通信主要通过`java.net.Socket`和`ServerSocket`类来实现。与C#类似,服务器端需要创建`ServerSocket`,并调用`accept()`方法等待客户端连接。客户端则创建`Socket`对象,指定服务器的IP地址和端口号...
Java基于Socket通信是一种常见的网络编程方式,主要用于实现客户端与服务器之间的数据交互。在这个场景中,我们看到"基于socket、mysql数据库和java组件、线程实现的qq基本通信"描述,这意味着我们将讨论如何利用...
基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java ...
在Java Socket通信中,为了实现并发处理,服务器端通常会为每个连接的客户端创建一个新线程。这样,每个线程都可以独立地读取和写入数据,避免了多个客户端请求时的阻塞问题。同时,客户端也可以选择在读写操作时...
本示例聚焦于Node.js与Java之间的Socket通信,这是一个非常实用的技术,因为这两种技术在Web开发和后端服务中都占据着重要的地位。让我们详细探讨一下如何实现Node.js与Java的Socket通信。 首先,Socket是一种基于...
Flash与Java的Socket通信是两种不同平台之间进行实时数据传输的一种技术,常用于构建富互联网应用程序(RIA)。本篇将深入探讨Flash与Java通过Socket接口实现通信的原理、步骤及其实现方法。 首先,我们需要了解...