演示tcp的传输的客户端和服务端的互访。

需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息。

客户端:

1,建立socket服务。指定要连接主机和端口。

2,获取socket流中的输出流。将数据写到该流中。通过网络发送给服务端。

3,获取socket流中的输入流,将服务端反馈的数据获取到,并打印。

4,关闭客户端资源。

服务端:

1,建立服务端的socket服务。ServerSocket();并监听一个端口。

2,获取连接过来的客户端对象。通过ServerSokcet的 accept方法。没有连接就会等,所以这个方法阻塞式的。

3,客户端如果发过来数据,那么服务端要使用对应的客户端对象,并获取到该客户端对象的读取流来读取发过来的数据。并打印在控制台。

4,获取socket流中的输出流。将数据写到该流中。通过网络发送给客户端。

5,关闭服务端。(可选)

代码如下:

客户端代码如下:

package com.package4;
/*
* author:ywq
*/
import java.net.*;
import java.io.*; public class TcpClient { public static void main(String[] args)throws Exception {
//创建客户端的socket服务。指定目的主机和端口
Socket s=new Socket("127.0.0.1",1456); //为了发送数据,应该获取socket流中的输出流。
OutputStream out=s.getOutputStream(); //发送数据
out.write("我是客户端,这是给你发的".getBytes()); //设置一个字节数组,用来存放收到的服务器反馈
byte[] buf=new byte[1024]; //得到socket中的输入流
InputStream in=s.getInputStream(); //将输入流写入到buf数组中
int len=in.read(buf); //创建字符串
String info=new String(buf,0,len); System.out.println(info); //关闭socket
s.close(); } }

服务器端代码如下:

package com.package4;

/*
* author:ywq
*/
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket; public class TcpServer { public static void main(String[] args)throws Exception{ //创建服务器的socket,并且监听某个端口
ServerSocket ss=new ServerSocket(1456); while(true)
{
//利用accept方法来获取连接到的客户端对象
Socket s=ss.accept(); //得到并且打印客户端的ip
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip); //得到socket输入流
InputStream in=s.getInputStream(); //设置一个字节数组,用来存放收到的客户端数据
byte[] buf=new byte[1024]; //将输入流写入到buf数组中
int len=in.read(buf); String info=new String(buf,0,len); System.out.println(info); //为了发送数据,应该获取socket流中的输出流。
OutputStream out=s.getOutputStream();
//发送数据
out.write("我是服务器,这是给你的".getBytes()); s.close();
} } }

java网络编程—TCP(1)的更多相关文章

  1. java 网络编程-tcp/udp

    --转自:http://blog.csdn.net/nyzhl/article/details/1705039 直接把代码写在这里,解释看这里吧:http://blog.csdn.net/nyzhl/ ...

  2. java网络编程(TCP详解)

    网络编程详解-TCP 一,TCP协议的特点              面向连接的协议(有发送端就一定要有接收端)    通过三次连接握手建立连接 通过四次握手断开连接 基于IO流传输数据 传输数据大小 ...

  3. java网络编程TCP传输—流操作—拿到源后的写入动作

    在网络编程中的TCP传输里,拿到Socket的源后,应该怎么进行读写操作呢,下面我列举了两种方法,希望大家帮忙补充···· 1.利用byte数组作为一个缓冲区进行读写 客户端上传 //获取socket ...

  4. Java分享笔记:Java网络编程--TCP程序设计

    [1] TCP编程的主要步骤 客户端(client): 1.创建Socket对象,构造方法的形参列表中需要InetAddress类对象和int型值,用来指明对方的IP地址和端口号. 2.通过Socke ...

  5. Java网络编程(TCP客户端)

    TCP传输:两个端点建立连接后会有一个传输数据的通道,这个通道就称为流,而且是建立在网络基础上的流,之为socket流,该流中既可以读取也可以写入. TCP的两个端点:一个客户端:ServerSock ...

  6. JAVA网络编程TCP通信

    Socket简介: Socket称为"套接字",描述IP地址和端口.在Internet上的主机一般运行多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定在一个端 ...

  7. Java网络编程(TCP服务端)

    /* * TCP服务端: * 1.创建服务端socket服务,并监听一个端口 * 2.服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象 * 3.可以通过获 ...

  8. JAVA网络编程-----TCP沟通

    java采纳TCP变速箱使用Socket和ServerSocket数据传输. 采纳tcp步模式数据传输: 1.设定client和服务器 ,分别对应Socket和ServerSocket 2.建立连接后 ...

  9. Java网络编程のTCP/IP

    TCP/IP参考模型和TCP/IP协议 与OSI参考模型相似,TCP/IP参考模型汲取了网络分层的思想,而且对网络的层次做了简化,并在网络各层都提供了完善的协议,这些协议构成了TCP/IP协议集,简称 ...

随机推荐

  1. 在虚拟机中的Ubuntu搭建java开发环境

    前提: 安装好虚拟机 在虚拟机中装好了Ubuntu系统 以上两步请参见我的博客(python进阶) 1 安装JDK 1.1 到官网下载jdk压缩包并保存在本地 jdk1.8:点击前往 1.2 在Ubu ...

  2. 19E Fairy

    Once upon a time there lived a good fairy A. One day a fine young man B came to her and asked to pre ...

  3. 解决Umbraco中Generated文件夹下面model问题

    在Visual Studio中开发Umbraco项目时,有一个文件夹叫Generated, 在Umbraco 的back office中的Document Type产生的model都会自动进入这个文件 ...

  4. 第一周作业-Linux基础入门

    写在前面 实验楼中linux基础入门的内容很多,几乎涵盖了所有的常用命令.命令的记忆不是一朝一夕的,更不能死记硬背,在实践中多操作,熟悉后自然就记住了.我没有将对每个命令操作结果都截图记录下来(事实上 ...

  5. Good Bye 2014 B. New Year Permutation(floyd )

    题目链接 题意:给n个数,要求这n个数字小的尽量放到前面,求一个最小的. 给一个矩阵s[i][j]==1,表示位置 i 的数字可以和 位置 j 的数字交换. 分析: 刚开始用的是3个循环,每次都找一个 ...

  6. Sharepoint2013商务智能学习笔记之Excel Service展示Sql Server数据Demo(五)

    第一步,打开Excel新建空白工作簿 第二步,使用Excel连接sql 数据库 第三步,画图 第四步 添加筛选器 最后效果如下: 第五步,将Excel上传到sharepoint任意文档库,并直接点击 ...

  7. Web——页面“传值、赋值”与页间“传值”

    前言 前期我们学习C/S开发的时候,采用三层架构,U层的参数在每个层之间传来传去,那么现在我们接触到的B/S,在Web前端是如何与后台进行传值赋值呢?由于本人是菜鸟一枚,下面写的不恰当的地方,望路过的 ...

  8. Cogs 6. 线型网络

    6. 线型网络 ★★☆   输入文件:linec.in   输出文件:linec.out   简单对比时间限制:1 s   内存限制:256 MB [问题描述] 有 N(N<=20)台 PC 放 ...

  9. tomcat怎么优化

    Tomcat有很多方面,我从内存.并发.缓存四个方面介绍优化方法. 一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catal ...

  10. CF D. Recovering BST (区间DP)

    题意:给你n个节点,每个节点有一个权值,两个点可以连边当且仅当这两个点的gcd>1,问你这n个点能否构成一个二叉搜索树(每个节点最多有两个儿子,且左儿子小于右儿子),输入为递增顺序. 分析: 若 ...