`
ShXin
  • 浏览: 12945 次
  • 性别: Icon_minigender_2
  • 来自: 天津
社区版块
存档分类
最新评论

通信之最简代码

阅读更多

       通信,用一种高大上的方法解释,那是服务器与客户端之间的通信,或是客户端与客户端之间的互联,其实说白了 ,就是两个程序通过某种渠道在发送信息。

        在实现通信之前,我们首先要清楚通信的流程。当一台机器要与另一台机器连接时,ip地址就是它们各自的标识,以便于被发现或连接。在连接到某机器之后,还需要找到希望连接程序的端口号,这样才能准确的连接到某一个程序进行通信。[注]:端口号要在0~65535之间。

        我们先写一个最简单的通信程序,让命令行充当客户端,那就只需要写一个可接受和发送消息的服务器了。这时需要思考的是服务器如何工作:首先要有一个服务器对象,让一个Socket对象等待客户端连接,连接后获取输入输出流,然后就可以用输出流来发送消息给客户端,用输入流读取客户端发来的消息,这样简单的通信就完成了,最后只要关闭连接即可。

//创建一个绑定在指定端口上的服务器对象
ServerSocket ss = new ServerSocket(port);
System.out.println("服务器连接成功"+port);
//让对象进入等待状态
Socket client = ss.accept();
//从连接上获取输入输出流
OutputStream out = client.getOutputStream();
InputStream ins = client.getInputStream();
		
String s = "hello!";
//获取该字符串的字节
byte[] b = s.getBytes();
String src = new String(b);
System.out.println("生成的字符串是"+src);
//用输出对象发送
out.write(b);
//强制输出
out.flush();
	
int in=0;
while(in!=13){
	in=ins.read();
	System.out.println("读到的是"+in);	
}
System.out.println("已退出"+in);
//关闭连接
client.close();

         当然,这样的代码会报错,试想,如果连接过程中突然断网,那不属于我们可控范围内,所以要用try,catch解决这个异常。

        这时我们需要做的就是打开命令提示符,输入telnet  localhost  端口号,localhost代表的就是本机的ip地址,telnet命令使我们的计算机充当客户机去连接我们写的服务器,这样就实现了最基本的通信。 

        

 

0
1
分享到:
评论

相关推荐

    串口通信简单实例源代码详解

    串口通信简单实例源代码详解 串口通信是计算机系统中的一种常见的通信方式,以异步方式传送数据,偶校验,一位结束位,传输的数据传输速率为9600bit/s。每个数据帧包含10Byte信息,1Byte作为帧起始标志,8Byte数据...

    java通信简易的QQ源代码

    【Java通信简易的QQ源代码】是一个学习和实践网络通信技术的绝佳实例,它通过Java编程语言实现了在同一个局域网内进行IP通信的基本功能。这个简易的“山寨QQ”项目,虽然不具备完整QQ应用的所有特性,但它涵盖了网络...

    简单的Linux串口通信源代码

    一个简单的linux串口通信源代码,含串口的各种设置。

    Visual C++网络通信代码.rar

    2. **TCP/IP协议**:传输控制协议/因特网协议(TCP/IP)是互联网上最广泛使用的通信协议。TCP提供面向连接、可靠的通信,而IP则负责数据包的路由。在Visual C++中,通常使用Winsock库实现TCP/IP通信。 3. **UDP协议...

    水声通信代码大全.rar_time reversal_underwater_时间反转_时间反转镜_水声信道仿真

    水声通信仿真代码,包括时间反转镜均衡,各种调制解调,信道仿真扥等

    很简单的一个socket双向通信小程序源代码

    在这个"很简单的一个socket双向通信小程序源代码"中,我们可以预期看到的是如何使用Socket实现客户端和服务器之间的双向通信。Socket通信通常涉及TCP(传输控制协议)或UDP(用户数据报协议),但鉴于“双向”特性,...

    socket简单服务器客户端通信测试代码

    在这个"socket简单服务器客户端通信测试代码"中,我们将探讨如何利用Socket进行基本的服务器和客户端之间的数据交互。 首先,我们要理解Socket的工作原理。Socket可以看作是两台计算机之间通信的端点,一个Socket...

    串口通信实例源代码C#

    在这个"串口通信实例源代码C#"中,我们能看到如何在Visual Studio 2010环境下使用C#进行串口通信的实践。 首先,我们需要了解`SerialPort`类。这个类是`System.IO.Ports`命名空间的核心,提供了打开、关闭串口,...

    51单片机UART rs232异步串行通信C语言最简程序

    RS232是最早的串行通信标准之一,定义了电压水平、接口引脚功能以及通信参数。它支持全双工通信,即数据可以同时在两个方向上传输。在51单片机上,我们通常会使用TX(发送)和RX(接收)引脚来实现RS232通信。 在...

    mc9s12xs128 LIN LIN通信 源码 下位机源码 简单的通信代码 供初学者学习 注释比较完善

    7. **开发工具**:开发MC9S12XS128和LIN通信通常需要IDE(如CodeWarrior)、仿真器或JTAG接口,以及如LINalyzer之类的总线分析工具来测试和调试。 学习这个源码可以帮助初学者理解LIN协议的工作原理,掌握MC9S12XS...

    android中通过wifi连接通信代码

    在移动应用开发中,尤其是在Android平台上,设备之间的通信是非常重要的功能之一。利用WiFi进行设备间的通信不仅可以实现数据的快速传输,还可以构建出多种多样的应用场景,如远程控制、即时消息等。本文将详细介绍...

    windows下socket通信代码

    本文将详细介绍Windows下的Socket通信代码,包括客户端和服务器端的实现,并适合初学者学习。 首先,我们要理解Socket的基本概念。Socket可以看作是网络上的进程间通信的端点,它定义了通信双方如何建立连接、交换...

    串口通信程序源代码

    本资源是一个关于串口通信的程序源代码,采用C++语言编写,已经过编译并能够正常运行在PC上。 在C++中实现串口通信,通常需要利用操作系统提供的API或第三方库来访问串口。例如,在Windows系统中,可以使用Windows ...

    进程通信示例代码

    本资源包提供了有关进程通信的教程和示例代码,对于初学者来说是非常宝贵的参考资料。 Linux作为一款开源操作系统,其内核支持多种进程通信机制,包括管道(Pipe)、FIFO(命名管道)、信号量(Semaphore)、共享...

    Linux进程通信代码

    匿名管道是最早出现的进程间通信方式,主要用于父子进程之间或兄弟进程之间的通信。在C语言中,通过`pipe()`函数创建一个匿名管道,它由两个文件描述符(读端和写端)组成。数据只能单向传输,通常是从父进程写入,...

    多机通信 图和源代码

    3. **编写通信代码**:在主机和从机上编写相应的软件代码,处理数据发送和接收,以及错误检测和恢复。 4. **测试与调试**:使用工具如Keil和Proteus进行编译、调试和仿真,确保通信的正确性。 5. **实机测试**:在...

    详解MATLABSimulink通信系统建模与仿真 (随书源代码)

    本书"详解MATLAB Simulink通信系统建模与仿真"显然是一本深入探讨这一主题的专业著作,配合随书源代码,读者可以更加直观地理解和学习通信系统建模的过程。 1. **Simulink基础**:Simulink是一种基于图形的建模工具...

    网络编程 简单UDP通信 C++源代码

    本资源提供了一个简单的UDP通信的C++源代码示例,非常适合初学者理解和实践网络编程的基础概念。 首先,我们需要理解UDP的基本特性。UDP是一种无连接的、不可靠的传输协议,它不保证数据包的顺序到达或错误检查,...

    串行通信源代码

    在这个“串行通信源代码”中,开发者使用了MSComm控件来实现全双工异步串行通信。MSComm控件是Microsoft提供的一种用于简化串行通信编程的工具,它封装了许多底层的串口操作,使得开发者无需深入理解串行通信的细节...

    mobus的简易通信的两个例子

    两份modbus通信的vc源代码,包括简易实现的例子和添加crc校正功能的例子

Global site tag (gtag.js) - Google Analytics