用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);
  }
 }
}

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

基于tcp的c/s模型的一个简单的socket实现
  • zxcvbnm0014
  • zxcvbnm0014
  • 2016-07-27 17:25:31
  • 882

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

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

TCP/IP与UDP 的C/S 模型

TCP/IP: head: #ifndef __HEAD_H__ #define __HEAD_H__ #include #include #include #include #include #...
  • lovehere33
  • lovehere33
  • 2014-07-02 08:20:44
  • 519

c++ Windows Socket实现最简单的C/S网络通信(TCP)

  • 2015年09月18日 12:50
  • 21.19MB
  • 下载

【程序员笔试面试复习】之一 网络与通信篇(一) 几大网络模型:OSI、TCP/IP、B/S与C/S、MVC结构

9.1网络模型   9.1.1. OSI七层模型   OSI(Open System Interconnection,开放系统互联)七层网络模型称为开放式网络互联参考模型。它是国际标准组织指定的一个...
  • poem_of_sunshine
  • poem_of_sunshine
  • 2014-10-13 15:47:22
  • 4194

Linux C TCP Socket实现客户与服务器简单通信

在Linux平台下用C语言udp协议实现客户与服务器的简单通信与封装的实现一、服务器端1、新建CreateServer.c和CreateServer.h文件,服务器的创建代码在此实现,程序中封装了创建...
  • wanna_wsl
  • wanna_wsl
  • 2016-12-17 20:20:49
  • 2133

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

转载自:http://blog.csdn.net/ljianhui/article/details/10477427 ——————————————————————————————————————...
  • u012398362
  • u012398362
  • 2015-05-04 16:17:36
  • 1563

一个简单的C/S结构的通信类CServerSocket

 ServerSocket.h#ifndef __SERVERSOCKET_H__#define __SERVERSOCKET_H__// #define WIN32_LEAN_AND_MEAN#in...
  • kbsoft
  • kbsoft
  • 2007-10-17 10:15:00
  • 2114

基于TCP/IP 协议的简单C/S程序

基于TCP/IP 协议的简单C/S程序
  • u012424416
  • u012424416
  • 2016-04-01 16:38:07
  • 614

windows下简单的C语言服务器(TCP)

--------------------------Mastic--------------------------------------------------------------------...
  • Mastic_29
  • Mastic_29
  • 2017-04-19 20:44:33
  • 1417
收藏助手
不良信息举报
您举报文章:用Socket建立简单的C/S结构的TCP/IP服务
举报原因:
原因补充:

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