用Socket建立简单的C/S结构的TCP/IP服务

原创 2005年03月01日 12:15:00

用Socket建立简单的C/S结构的TCP/IP服务

Java、Socket、TCP/IP、网络编程

环境:Windows Server 2003

用户也可以自己写简单的TCP/IP服务

/*作为Server建立读写二进制时间服务*/
import java.io.*;
import java.net.*;
public class DaytimeServer {
 ServerSocket sock;
 public DaytimeServer() {
  try{
   sock=new ServerSocket(37);
  }
  catch(IOException e){
   System.err.println(e);
   System.exit(1);
  }
 }
 protected void renService() {
  Socket ios = null;
  DataOutputStream os = null;
  while(true) {
   try{
    ios=sock.accept();
    System.err.println(ios.getInetAddress().getHostName());
    os = new DataOutputStream(ios.getOutputStream());
    long time = System.currentTimeMillis();
    long distance=(long)(((1970-1900)*365.25)-1+.5);
     long sec=distance*24*60*60;
    time /= 1000;
    time += sec;
    os.writeInt((int)time);
    os.close();
   }
   catch(IOException e) {
    System.err.println(e);
   }
  }
 }
 public static void main(String[] args) {
  new DaytimeServer().renService();
 }
}

/*读写二进制时间服务,其服务端口要保持一致,与DaytimeServer配合使用*/
import java.io.*;
import java.net.*;
import java.util.*;
public class DaytimeBinary{
 public static void main(String[] args){
  /*服务基于1900到现在的秒数,而JAVA为1970年,需要求时间差
   *1900年减1,而1969/1970加.5*/
  long distance=(long)(((1970-1900)*365.25)-1+.5);
  //1900-1970的秒数
  long sec=distance*24*60*60;
  try{
   Socket sock=new Socket("127.0.0.1",37);
   DataInputStream is=new DataInputStream(new BufferedInputStream
       (sock.getInputStream()));
   /*服务为无符号整数,而JAVA无此类型的读入,则需要转换
    *先读无符号字符型,移位,合并,组装为无符号整数*/
    long remote=(((long)(is.readUnsignedByte()&0xff)<<24)|
      ((long)(is.readUnsignedByte()&0xff)<<16)|
       ((long)(is.readUnsignedByte()&0xff)<<8)|
      ((long)(is.readUnsignedByte()&0xff)<<0));
   System.out.println("远程秒为"+remote);
   System.out.println("1970-1900秒差为"+sec);
   System.out.println("其差可用此值建立JAVA基于1970年对象"+(remote-sec));
   System.out.println("建立ing....");
   Date d=new Date((remote-sec)*1000);
   System.out.println("远程时间为"+d.toString());
  }
  catch(IOException e){
   System.err.println(e);
  }
 }
}

Socket原理及C/S简单代码实现

转载自:http://blog.csdn.net/ljianhui/article/details/10477427 ——————————————————————————————————————...
  • u012398362
  • u012398362
  • 2015年05月04日 16:17
  • 1230

基于tcp的c/s模型的一个简单的socket实现

基于tcp的c/s模型的一个简单的socket实现
  • zxcvbnm0014
  • zxcvbnm0014
  • 2016年07月27日 17:25
  • 668

采用TCP协议的C/S架构实现API详解

“任何你真正想得到的一定是值得坚持的!”
  • qq_33044095
  • qq_33044095
  • 2017年02月08日 16:58
  • 282

TCP/IP协议和C/S模式--TCP/IP详解笔记(1)

一.TCP/IP协议简介        TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。电脑有了这些...
  • makeprogresszb
  • makeprogresszb
  • 2015年06月09日 10:55
  • 2041

socket编程 -- 基于TCP协议的C/S通信模型及实现

基于TCP协议的客户端/服务器的程序下图是基于TCP协议的客户端/服务器程序的一般流程服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口...
  • y396397735
  • y396397735
  • 2016年02月12日 23:47
  • 1609

C/S和B/S结构概念

C/S和B/S结构概念 1.什么是C/S结构 C/S (Client/Server)结构,即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Cl...
  • sinat_35111396
  • sinat_35111396
  • 2016年05月30日 09:56
  • 8856

简单socket 聊天室 C/S模式 小例子

一个简单的使用socket 的简单的 S/C 模式的聊天程序; 周六重新拿以前没弄好的代码改改,弄的;(客户端的程序就不想改了,那时写的太难看了代码) 下面就直接上 运行的截图,图形的东东弄的...
  • TianXueWu
  • TianXueWu
  • 2014年08月04日 17:05
  • 2321

Socket通信,实现单客户端和服务器交互的C/S结构

首先创建客户端程序: package FirstPackages; import java.io.BufferedReader; import java.io.IOException; imp...
  • qinyf2015
  • qinyf2015
  • 2016年12月07日 18:23
  • 750

C/S结构的两层模型、三层模型及多层模型

(1)两层结构 在C/S结构中有传统的两层结构和新型的三层结构之分。二层结构最早在20世纪80年代后期引入业界的,它为多用户系统提供了前所未有的双向交流感和灵活性,革命性的改变了传统的应用设...
  • qq_29134495
  • qq_29134495
  • 2016年06月11日 19:55
  • 2375

高性能网络编程总结及《TCP/IP Sockets编程(C语言实现) (第2版)》 代码下载(链接以及文件打包)

http://blog.csdn.net/column/details/high-perf-network.html http://blog.csdn.net/russell_tao/article/...
  • benpaobagzb
  • benpaobagzb
  • 2016年03月01日 17:04
  • 3758
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Socket建立简单的C/S结构的TCP/IP服务
举报原因:
原因补充:

(最多只允许输入30个字)