服务器端的写法

package com.chinasofti.corejava.ch22;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Scanner;

public class Server {

private static BufferedReader br=null;

private static PrintWriter pw=null;

private static ServerSocket ss;

private static Socket s;

static Scanner scanner=new Scanner(System.in);

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

try {

ss=new ServerSocket(5500);

System.out.println("服务器正常启动。。。。");

//调用ServerSocket的accept方法,可以接受客户端的请求,并返回当前的Socket对象

s=ss.accept();//阻塞方法

System.out.println("连接成功"+s.getRemoteSocketAddress());

//获得基于Socket的输入流

br=new BufferedReader(new InputStreamReader(s.getInputStream()));

//获得基于Socket的输出流

pw=new PrintWriter(new OutputStreamWriter(s.getOutputStream()));

while(true){

String string=br.readLine();

System.out.println("Server读到:"+string);

System.out.println("Server端请输入:");

String str=scanner.next();

pw.println(str);

pw.flush();

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

break;

}

}

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

try {

pw.close();

br.close();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

客户端的写法

package com.chinasofti.corejava.ch22;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.InetAddress;

import java.net.Socket;

import java.util.Scanner;

public class Client {

private static PrintWriter pw=null;

private static BufferedReader br=null;

private static Socket s;

static Scanner scanner=new Scanner(System.in);

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

try {

s=new Socket(InetAddress.getLocalHost(),5500);

pw=new PrintWriter(new OutputStreamWriter(s.getOutputStream()));

br=new BufferedReader(new InputStreamReader(s.getInputStream()));

while(true){

System.out.println("Client端请输入:");

String str = scanner.next();

pw.println(str);

pw.flush();

String string=br.readLine();

System.out.println("Client读到:"+string);

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

s.close();

break;

}

}

}catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

br.close();

pw.close();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

java网络编程实例_关于java网络编程的实例代码相关推荐

  1. python爬取公交车站数据_Python爬虫实例_城市公交网络站点数据的爬取方法

    爬取的站点:http://beijing.8684.cn/ (1)环境配置,直接上代码: # -*- coding: utf-8 -*- import requests ##导入requests fr ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. java 安卓客户端开发_《安卓网络编程》之第一篇 java环境下模拟客户端、服务器端...

    1.Socket简介 在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个 ...

  4. java爬虫面试题_使用Java实现网络爬虫

    网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 另外一些不常使用的名字还有蚂蚁.自动索引.模 ...

  5. java 数据结构实例_数据结构(Java)——栈的实例

    惟大英雄能本色,是真名士自风流 --易中天(百家讲坛) 1.表达式的转换 1.1 中缀表达式转前缀表达式 中缀表达式转前缀表达式有许多的方式,有加括号去除法.语法树遍历法.堆栈处理法1. 测试程序的实 ...

  6. java 函数式编程 示例_功能Java示例 第1部分–从命令式到声明式

    java 函数式编程 示例 功能编程(FP)的目的是避免重新分配变量,避免可变的数据结构,避免状态并全程支持函数. 如果将功能性技术应用于日常Java代码,我们可以从FP中学到什么? 在这个名为&qu ...

  7. Java并发编程实战_福州java编程实战培训班排名

    如何选择福州java培训中心? 在福州,如果想迅速掌握java开发,参加福州java培训班无疑是一种非常有效的方式.但是,市场上有这么多的java培训机构,我们在选择的时候难免会眼花缭乱.福州java ...

  8. python网络编程内容_图解Python网络编程

    Python Python开发 Python语言 图解Python网络编程 本篇索引 (1)基本原理 本篇指的网络编程,仅仅是指如何在两台或多台计算机之间,通过网络收发数据包:而不涉及具体的应用层功能 ...

  9. java 是否含有日文_《JAVA编程思想》5分钟速成:第9章(接口)

    第9章 接口 前言: 1.抽象类(abstract class)和接口(interface)有什么异同? 2.抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(n ...

  10. java换成中文_如果我们的编程替换成中文会变成怎样?

    首先大概的看一下中文编码: 你以为会写中文就会编程吗?这就像你以为会写汉字就会写出好文章一样.编程是和机器沟通,因此要用机器的语言而不是人类的语言.最早的程序就是0和1的数字,不是中文也不是英文.以前 ...

最新文章

  1. 深度|​揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活!
  2. TCP/IP 详解卷一 - TCP CWR、ECE、URG、ACK、PSH、RST、SYN、FIN控制位
  3. node入门-学习笔记
  4. php调用selenium,通过PHP exec()执行Selenium webdriver
  5. 分享一个JAVA专业接口开发利器,牛牛牛新鲜出炉!!!
  6. 【Python】自动化升级所有pip安装的包
  7. Python 使用requests发送POST请求
  8. 一、SCVMM2008R2安装部署
  9. 稀疏表示的合适字典_基于共振稀疏分解的滚动轴承早期微弱故障诊断
  10. 074-enable-right-click
  11. 国密算法(SM2)简介及SM2生成秘钥
  12. html展开折叠菜单,纯CSS竖向滑动展开折叠菜单
  13. java 僵尸进程_神奇的Java僵尸(defunct)进程问题排查过程
  14. “顺丰杯”包装设计大赛背后的故事:浅谈顺丰的产学研包装生态圈布局
  15. word图文混排复制到xhEditor图片不显示
  16. 安装mysql的初始密码在哪里
  17. pandas基础篇一
  18. 协处理器CP15介绍—MCR/MRC指令(6)
  19. 测试管理及项目测试流程
  20. Python sqrt()函数的使用

热门文章

  1. SAP Spartacus读取User Address的action是如何被Effect接收的
  2. SAP Spartacus入口Component - StorefrontComponent
  3. SAP Cloud for Customer的inscreen_dataflow处理方式
  4. file encode - /UI2/CL_HTTP_FILE_ENCODE
  5. UI5 xml view里control id的生成逻辑
  6. SAP CRM呼叫中心点了interact按钮后的处理逻辑
  7. 使用report clear appointment的all day flag
  8. SAP ABAP实用技巧介绍系列之将unicode字符转换成中文
  9. SAP S/4HANA生产订单创建时使用的工厂数据是从什么地方带出来的 1
  10. python两个类共用一个变量_python – 如何从一个类到另一个类访问变量?