/*
学习笔记
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客户端和服务端的互通信息相关推荐

  1. TCP客户端与服务端开发

    ** TCP客户端与服务端开发 ** 客户端 import socket# 创建客户端套接字对象 # 超数1 :iPv4(ip协议版本) # 参数2:选择协议(socket.SOCK_STREAM== ...

  2. Esp8266学习之旅⑧ 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。(带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  3. linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

    1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动&quo ...

  4. java基础—网络编程——TCP客户端与服务端交互

    import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import ja ...

  5. 简易TCP客户端和服务端的实现

    文章目录 1 客户端的实现 2 服务端的实现 1 客户端的实现 用Socket API建立简易TCP客户端: 建立一个socket. 连接服务器 connect. 接收服务器信息 recv. 关闭so ...

  6. Go tcp客户端、服务端编程

    内容参考net包,net包提供了可移植的网络I/O接口,包括TCP/IP.UDP.域名解析和Unix域socket. 虽然本包提供了对网络原语的访问,大部分使用者只需要Dial.Listen和Acce ...

  7. TCP客户端、服务端程序开发

    套接字类似于通讯工具 # 客户端 import socketif __name__ == '__main__':# 1.创建客户端套接字对象tcp_client_socket = socket.soc ...

  8. 基于多线程的TCP局域网通信,客户端向服务端上传 文件简单实现源码

    客户端 import java.io.*; import java.net.Socket;/*** ### 作业3:* 完成文件上传案例学习* - 案例需求* 客户端:数据来自于本地文件,接收服务器反 ...

  9. python 安卓应用层_使用Python开发客户端和服务端程序 理解应用层协议和表示层...

    不少学习计算机网的学生,对于服务器和客户机,以及应用层协议 表示层理解的不完全,在这里我使用Python编写了用于传输学生信息的程序.服务端使用TCP的8898端口侦听客户端的请求.客户端向服务端发送 ...

  10. QTcpSocket客户端和服务端发送图片(或大文件)小Demo

    先看一下效果: 思路: 发图片.大文件与发短字符不大一样. 1.文件和图片通过TCP可能一次发不过去,可能要发很多次.所以我们在发送文件.数据.以及文字最好带上文件的大小. 2.图片转换成文件流的形式 ...

最新文章

  1. class h5 点击后样式变化_css实现选中后变色并且效果不消失
  2. 用Java编写模仿的太阳系(九星行旋转)--原创
  3. 零基础不建议学前端_web前端开发零基础怎样入门-哈尔滨前端学习
  4. js实现日历框上一日下一日_一日三项令人兴奋的Lucene功能
  5. matlab气相分解反应动力学,第十二章 化学动力学.ppt
  6. python用什么软件编程-初学python编程,有哪些不错的软件值得一用?
  7. SQL Server-【知识与实战VI】索引信息
  8. 简单瀑布流-jquery实现
  9. 招投标系统简介 招投标系统源码 java招投标系统 spring cloud spring boot 招投标系统功能设计
  10. 海思芯片怎么使用tde给qt加速_海思芯片怎么让华为手机走到射频芯片国产化之路的?...
  11. 3D模型实现「唱、跳、Rap、篮球」
  12. 首席新媒体黎想教程:如何打造爆款裂变活动推广?
  13. 最新超好看Nteam官网程序源码+全解移除授权
  14. Windows配置互联网访问检测服务器-IspSrv
  15. HTAP 应该是一种需求而不是一款产品
  16. 收支系统(超超超简版)1.0
  17. 抖音电商的发展趋势如何
  18. 卡西欧函数计算机广告词,学生专用卡西欧函数计算器简易空间里的排列
  19. Spring Boot LiveReload
  20. java 不拦截指定url,Spring Security 3.1拦截url不拦截任何网址

热门文章

  1. 亲测有效sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, quitting sudo: una
  2. if(a)是什么意思
  3. UnicodeEncodeError: 'gbk' codec can't encode character '\xa0'
  4. 基于Vue的仿小米商城
  5. saas、paas、laas 的概念与区别
  6. 1、ruby语法抄写练习
  7. linux6.5关闭防火墙命令,centos关闭防火墙的方法
  8. UE4中3DUI防遮挡显示/穿模部分透明化显示
  9. 复习C++期末考试题目
  10. 微服务swoft打造腾讯云短信网关