Java网络编程(ECHO案列)

//服务器端

package org.tcp;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintStream;

import java.net.ServerSocket;

import java.net.Socket;

public class EchoServer {

public static void main(String[] args) throws Exception{

ServerSocket server = null;

Socket client = null;

PrintStream out = null;

BufferedReader buf = null;

server = new ServerSocket(8888);

boolean f = true;

while(f){

System.out.println("服务器运行,等待客户端链接。");

client = server.accept();

buf = new BufferedReader(new InputStreamReader(client.getInputStream()));

out = new PrintStream(client.getOutputStream());

boolean flag = true;

while(flag){

String str = buf.readLine();

if(str == null||"".equals(str)){

flag = false;

}else{

if("bye".equals(str)){

flag = false;

}else{

out.println("ECHO:"+str);

}

}

}

out.close();

client.close();

}

server.close();

}

}

程序运行结果: 服务器运行,等待客户端链接。

//客户端

package org.tcp;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintStream;

import java.net.Socket;

public class EchoClient {

public static void main(String[] args) throws Exception{

Socket client = null;

client = new Socket("localhost",8888);

BufferedReader buf = null;

PrintStream out = null;

BufferedReader input = null;

input = new BufferedReader(new InputStreamReader(System.in));

out = new PrintStream(client.getOutputStream());

buf = new BufferedReader(new InputStreamReader(client.getInputStream()));

boolean flag = true;

while(flag){

System.out.print("输入信息:");

String str = input.readLine();

out.println(str);

if("bye".equals(str)){

flag = false;

}else{

String echo = buf.readLine();

System.out.println(echo);

}

}

client.close();

buf.close();

}

}

程序运行结果: 输入信息:陈飞鹏

ECHO:陈飞鹏

输入信息:chenfeipeng

ECHO:chenfeipeng

输入信息:hello

ECHO:hello

输入信息:bye

Java网络编程(ECHO案列),布布扣,bubuko.com

时间: 2024-12-17 17:24:11

Java网络编程(ECHO案列)的相关文章

Java网络编程和NIO详解9:基于NIO的网络编程框架Netty

Java网络编程和NIO详解9:基于NIO的网络编程框架Netty 转自https://sylvanassun.github.io/2017/11/30/2017-11-30-netty_introduction/ netty是基于NIO实现的异步事件驱动的网络编程框架,学完NIO以后,应该看看netty的实现,netty框架涉及的内容特别多,这里只介绍netty的基本使用和实现原理,更多扩展的内容将在以后推出. 本系列文章首发于我的个人博客:https://h2pl.github.io/ 欢迎

java网络编程serversocket

转载:http://www.blogjava.net/landon/archive/2013/07/24/401911.html Java网络编程精解笔记3:ServerSocket详解ServerSocket用法详解 1.C/S模式中,Server需要创建特定端口的ServerSocket.->其负责接收client连接请求. 2.线程池->包括一个工作队列和若干工作线程->工作线程不断的从工作队列中取出任务并执行.-->java.util.concurrent->线程池

java网络编程socket\server\TCP笔记(转)

java网络编程socket\server\TCP笔记(转) 2012-12-14 08:30:04|  分类: Socket |  标签:java  |举报|字号 订阅 1 TCP的开销 a  连接协商三次握手,c->syn->s,s->syn ack->c, c->ack->s b  关闭协商四次握手,c->fin->s, s->ack-c,s->fin->c,c->ack->s c  保持数据有序,响应确认等计算开销 d

Java网络编程基础【转】

网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实初学者如果入门网络编程的话也可以做到这么简单! 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.

Java网络编程丶数据库编程丶XML解析技术。

Java网络编程 物理层. 数据链路层. 网络层. 传输层. 会话层. 表示层. 应用层. TCP/IP分层接口包括用于协作层分别完成以下的功能: 网络接口层. 网络互联层. 传输层. 应用层. 套接字: Socket.套接字.是一种抽象层. // 创建客户端Socket向服务器发起连接请求 Socket socket = new Socket("127.0.0.1", 30001); /* 利用已建立的socket创建输入输出流,处理与服务器端的连接 */ // 向服务器写入数据 B

Java网络编程(tcp在服务器上应用多线程)

package org.tcp; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; public class EchoThread implements Runnable { private Socket client = null; public EchoThread(Socket client){ this.c

第一章 java网络编程入门_Echo

//服务器端程序  EchoServer.java import java.io.*;import java.net.*;public class EchoServer {  private int port=8000;  private ServerSocket serverSocket; public EchoServer() throws IOException {    serverSocket = new ServerSocket(port);    System.out.printl

【转】JAVA网络编程基础

转来自己学习用 转自http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电

java网络编程入门教程

网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实初学者如果入门网络编程的话也可以做到这么简单! 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.