TCP客户端和服务端的互通信息
/*
学习笔记
TCP客户端和服务端的互通信息
客户端步骤:
需求:客户端给服务端发送数据,服务端收到后给客户端反馈信息
步骤:
1.导入包 java.IO java.net 包
2.创建Socket 服务。指定要连接主机和端口
3.获取socket流中的输出流。将数据写到该流中,通过网络发送给服务端。
4.获取socket流中的输入流,将服务端反馈的数据获取到并打印。
5.获取ServerSocket服务端发过来的数据。
6.创建一个缓冲区来存储数据。
7.定义一个整型 来接收缓冲区
8.将数据打印出去。
服务端步骤:
1.导入包 java.IO java.net 包
2.创建ServerSocket服务端对象来监听一个端口。
3.创建 socket的然后通过accept方法获取连接过来的客户端对象 。
4.通过这两个方法getInetAddress().getHostAddress() 来获取IP地址 定义字符串类型来接收IP地址。
5.将获取到的IP地址打印出去。
6.获取客户端发送过来的数据 那么使用客户端对象的读取流来读取数据。
7.创建一个字节数组作为缓冲区来存储数据 因为知道数据不是很大所以定义[1024]就可以用了。
8.获取客户端发送过来的数据 那么使用客户端对象的读取流的方法:getInputStream()来读取数据。
9.将数据写入出去,定义一个整类类型来接收。
10.然后将数据打印出去。
11.负责给客户端反馈信息的,所以必须用的客户端的输出流,通过这个方法来获取getOutputStream();
12.然后给客户端回馈信息,通过这个write();的这个方法将数据发送出去,将数据信息变成字符串形式发出去!
13.关闭资源(可选择操作)
时间:2018-8-17
作者:无痕公子
*/
package tCP;
import java.io.*;
import java.net.*;
//客户端
public class Client
{
public static void main(String[] args) throws Exception
{Socket s = new Socket("IP地址",10012);OutputStream out = s.getOutputStream();out.write("给服务端 发送的信息=您好!".getBytes());InputStream in = s.getInputStream();byte[] buf = new byte[1024];int len =in.read(buf);System.out.println(new String(buf,0,len));s.close();}
}
class Serverside
{
public static void main(String[] args) throws Exception
{ServerSocket ss = new ServerSocket(10012);Socket s = ss.accept();String iP =s.getInetAddress().getHostAddress();System.out.println("IP="+iP);InputStream in = s.getInputStream();byte[] buf = new byte[1024];int len =in.read(buf);System.out.println(new String(buf,0,len));OutputStream out = s.getOutputStream();//用的客户端的输出流Thread.sleep(10000);//10秒中后在发送out.write("给客户端回馈的信息=收到!您好".getBytes());ss.close();}
}
结果图:
/*
总结:
通过以上的小例子给服务端 和客户端 建立网络通信.客户端给服务端发送信息。服务端给客户端回馈信息
发现了客户端和服务端的输入流和输出流都是反着来的!
*/
TCP客户端和服务端的互通信息相关推荐
- TCP客户端与服务端开发
** TCP客户端与服务端开发 ** 客户端 import socket# 创建客户端套接字对象 # 超数1 :iPv4(ip协议版本) # 参数2:选择协议(socket.SOCK_STREAM== ...
- Esp8266学习之旅⑧ 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。(带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
- linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现
1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动&quo ...
- java基础—网络编程——TCP客户端与服务端交互
import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import ja ...
- 简易TCP客户端和服务端的实现
文章目录 1 客户端的实现 2 服务端的实现 1 客户端的实现 用Socket API建立简易TCP客户端: 建立一个socket. 连接服务器 connect. 接收服务器信息 recv. 关闭so ...
- Go tcp客户端、服务端编程
内容参考net包,net包提供了可移植的网络I/O接口,包括TCP/IP.UDP.域名解析和Unix域socket. 虽然本包提供了对网络原语的访问,大部分使用者只需要Dial.Listen和Acce ...
- TCP客户端、服务端程序开发
套接字类似于通讯工具 # 客户端 import socketif __name__ == '__main__':# 1.创建客户端套接字对象tcp_client_socket = socket.soc ...
- 基于多线程的TCP局域网通信,客户端向服务端上传 文件简单实现源码
客户端 import java.io.*; import java.net.Socket;/*** ### 作业3:* 完成文件上传案例学习* - 案例需求* 客户端:数据来自于本地文件,接收服务器反 ...
- python 安卓应用层_使用Python开发客户端和服务端程序 理解应用层协议和表示层...
不少学习计算机网的学生,对于服务器和客户机,以及应用层协议 表示层理解的不完全,在这里我使用Python编写了用于传输学生信息的程序.服务端使用TCP的8898端口侦听客户端的请求.客户端向服务端发送 ...
- QTcpSocket客户端和服务端发送图片(或大文件)小Demo
先看一下效果: 思路: 发图片.大文件与发短字符不大一样. 1.文件和图片通过TCP可能一次发不过去,可能要发很多次.所以我们在发送文件.数据.以及文字最好带上文件的大小. 2.图片转换成文件流的形式 ...
最新文章
- class h5 点击后样式变化_css实现选中后变色并且效果不消失
- 用Java编写模仿的太阳系(九星行旋转)--原创
- 零基础不建议学前端_web前端开发零基础怎样入门-哈尔滨前端学习
- js实现日历框上一日下一日_一日三项令人兴奋的Lucene功能
- matlab气相分解反应动力学,第十二章 化学动力学.ppt
- python用什么软件编程-初学python编程,有哪些不错的软件值得一用?
- SQL Server-【知识与实战VI】索引信息
- 简单瀑布流-jquery实现
- 招投标系统简介 招投标系统源码 java招投标系统 spring cloud spring boot 招投标系统功能设计
- 海思芯片怎么使用tde给qt加速_海思芯片怎么让华为手机走到射频芯片国产化之路的?...
- 3D模型实现「唱、跳、Rap、篮球」
- 首席新媒体黎想教程:如何打造爆款裂变活动推广?
- 最新超好看Nteam官网程序源码+全解移除授权
- Windows配置互联网访问检测服务器-IspSrv
- HTAP 应该是一种需求而不是一款产品
- 收支系统(超超超简版)1.0
- 抖音电商的发展趋势如何
- 卡西欧函数计算机广告词,学生专用卡西欧函数计算器简易空间里的排列
- Spring Boot LiveReload
- java 不拦截指定url,Spring Security 3.1拦截url不拦截任何网址
热门文章
- 亲测有效sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, quitting sudo: una
- if(a)是什么意思
- UnicodeEncodeError: 'gbk' codec can't encode character '\xa0'
- 基于Vue的仿小米商城
- saas、paas、laas 的概念与区别
- 1、ruby语法抄写练习
- linux6.5关闭防火墙命令,centos关闭防火墙的方法
- UE4中3DUI防遮挡显示/穿模部分透明化显示
- 复习C++期末考试题目
- 微服务swoft打造腾讯云短信网关