关闭

网络程序设计--第一个服务器程序

136人阅读 评论(0) 收藏 举报
分类:

从client输入一个数字,在server进行平方后返回给client并且输出

1.client.java

package bjfu.dianzi.wzz;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;

public class Client {
    public static void main(String[] args) {
        try{
            Socket connectToServer =new Socket("localhost",8000);
            DataInputStream isFromServer =new DataInputStream(connectToServer.getInputStream());
            DataOutputStream osToServer=new DataOutputStream(connectToServer.getOutputStream());
            while(true){
                System.out.println("please input value");
                Scanner scanner=new Scanner(System.in);
                int num=scanner.nextInt();
                osToServer.writeInt(num);
                osToServer.flush();
                int sq=isFromServer.readInt();
                System.out.println("the square number from server is "+sq);
            }
        }catch(IOException e){
            e.printStackTrace();
        }
        
        

    }

}

2.server.java

package bjfu.dianzi.wzz;

import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args) {
        try{
            ServerSocket ServerSocket=new ServerSocket(8000); //create the socket of server
            Socket connectionToClient =ServerSocket.accept(); //servetainr socket monitor
            DataInputStream isFromClient=new DataInputStream(new DataInputStream(connectionToClient.getInputStream()));
            //receive the data from client
            DataOutputStream osToClient =new DataOutputStream(connectionToClient.getOutputStream());
            //read the data handled
            while(true)
            {
                int num=isFromClient.readInt();
                System.out.println(" the data received from client is"+num);
                int sq=num*num;
                osToClient.writeInt(sq);
                osToClient.flush();
                System.out.println("square number is"+sq);
            }
        }catch(IOException e){
            e.printStackTrace();
        }

    }

}


0
0
查看评论

Java网络服务器编程

Java的Socket API提供了一个很方便的对象接口进行网络编程。本文用一个简单的TCP Echo Server做例子,演示了如何使用Java完成一个网络服务器。 用作例子的TCP Echo Server是按以下方式工作的:当一个客户端通过TCP连接到服务器后,客户端可以通过这个连接发...
  • DaiJiaLin
  • DaiJiaLin
  • 2004-11-09 21:20
  • 16011

第一个服务器程序

使用Myeclipse编写了第一个jsp页面,启动Tomcat 6服务器发布项目。 在局域网内使用另一台笔记本访问这个页面。返回成功。 客户端和服务器端通过http建立连接。服务器返回给客户端的数据可以是HTML,XML或者json的形式。 因此客户端的网络编程...
  • hope_worker
  • hope_worker
  • 2013-04-04 16:49
  • 488

编写高效服务器程序,需要考虑的因素

性能对服务器程序来说是至关重要的了,毕竟每个客户都期望自己的请求能够快速的得到响应并处理。 那么影响服务器性能的首要因素应该是: (1)系统的硬件资源,比如说CPU个数,速度,内存大小等 不过由于硬件技术的飞速发展,现代服务器都不缺乏硬件资源。因此,需要考虑的主要问题是如何从“软环境”来提升服...
  • ouyangjinbin
  • ouyangjinbin
  • 2016-04-05 12:51
  • 855

Windows程序设计学习笔记一:第一个窗口

这是对windows程序设计第五版中第一个窗口的源代码的注解。(我还以为是你自己写的呢,切~~~)咳咳咳,第一次看到这鬼东西的时候,真的很多东西不了解,到处找资料去了解,去学习(喂喂,找资料的明明是我,怎么变成你了!!!)。也有可能一些地方理解不是很对,我也只是个初学者(我知道,我知道,你就是个菜鸟...
  • FollowTheWind_
  • FollowTheWind_
  • 2015-11-26 11:50
  • 371

网络编程三---多线程/进程解决并发问题

前文列出的代码给大家展示了一个最简单的网络程序,但正如文章末尾所提的,这个最简单的网络程序最大的缺点是服务端一次只能服务一个客户端,就比如说你去吃饭,饭店只有一个服务员, 而且服务员在客户离开之前只能为一个客户服务,也就是说你只能等待你前面的客户吃好饭离开了,然后你才能进去吃饭,而在你吃饭的时候时候...
  • hailong0715
  • hailong0715
  • 2017-03-30 00:08
  • 1891

服务器编程入门(6)高性能服务器程序框架

问题聚焦: 核心章节。 服务器一般分为如下三个主要模块:I/O处理单元(四种I/O模型,两种高效事件处理模块),逻辑单元(两种高效并发模式,有效状态机)和存储单元(不讨论)。
  • zs634134578
  • zs634134578
  • 2014-02-24 09:44
  • 4813

回射程序(客户端)——客户接收一行数据

基于流式套接字的服务器回射程序设计。 编写一服务器程序和客户程序,要求客户每输入一行数据,服务器接收后加上echo:回送给客户程序,当客户输入“q”后退出。
  • zjscxgh
  • zjscxgh
  • 2014-04-09 11:14
  • 699

Linux下socket编程实现客户机服务器通信的例子

Linux下socket编程实现客户机服务器通信的例子经典的在同一台主机上两个进程或线程之间的通信通过以下三种方法 管道通信(Pipes) 消息队列(Message queues) 共享内存通信(Shared memory) 这里有许多其他的方法,但是上面三中是非常经典的进程间通信。但是你有曾想过怎...
  • violet_echo_0908
  • violet_echo_0908
  • 2015-11-01 00:52
  • 1684

Java的网络程序设计

  一、 Java编程简介 1. 编程环境: 操作系统 RedHat7.0 编译软件 JDK1.2.2 浏览软件 Netscape6.0 2. 编程方法: 先用文本编辑器如gedit等输入Java程序,以.java为文件名后缀存盘。再执行命令行:“Javac 文件名”来编译Jav...
  • glitdoor
  • glitdoor
  • 2006-10-31 16:17
  • 446

网络应用程序设计

设计要点 设计Server时需要考虑的因素 响应速度(新建连接时、发送数据时) 运行速度
  • legion8169
  • legion8169
  • 2007-06-02 16:48
  • 702
    个人资料
    • 访问:24630次
    • 积分:1142
    • 等级:
    • 排名:千里之外
    • 原创:93篇
    • 转载:6篇
    • 译文:0篇
    • 评论:7条
    最新评论