import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket; /**
* 登录服务器
* @author Administrator
*
*/
public class LoginServerDemo { public static void main(String[] args) {
// TODO Auto-generated method stub
int port = 20000;
try {
ServerSocket ss = new ServerSocket(port);
System.out.println("服务器已启动");
Socket socket = ss.accept();
System.out.println("有客户连接进来");
InputStream in = socket.getInputStream();
BufferedReader br =
new BufferedReader(new InputStreamReader(in));
OutputStream out = socket.getOutputStream();
PrintWriter pw = new PrintWriter(out);
String str = null;
String name = "";
String pwd = "";
while( (str = br.readLine()) != null ){
String tag = str.split(":")[0];
if(tag.equals("name")){
name = str.split(":")[1];
}else if(tag.equals("pwd")){
pwd = str.split(":")[1];
}
if((!name.equals(""))&&(!pwd.equals(""))){
//进行登录判断
if(name.equals("zhangsan") && pwd.equals("123456")){
pw.println("true");
}else{
pw.println("false");
}
pw.flush();
break;
}
}
socket.close();//关闭连接
ss.close();//关闭服务器
System.out.println("服务器已关闭");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket; public class LoginObjectServerDemo { public static void main(String[] args) {
// TODO Auto-generated method stub
int port = 20000;
try {
ServerSocket ss = new ServerSocket(port);
System.out.println("服务器已启动");
Socket socket = ss.accept();
System.out.println("有客户连接进来");
InputStream in = socket.getInputStream();
ObjectInputStream oin = new ObjectInputStream(in);
OutputStream out = socket.getOutputStream();
PrintWriter pw = new PrintWriter(out);
String str = null;
String name = "zhangsan";
String pwd = "123456";
//接收客户端登录消息
Object obj = null;
if((obj = oin.readObject())!= null){
UserInfo ui = (UserInfo)obj;
if(name.equals(ui.getUsername())&&pwd.equals(ui.getPassword())){
pw.println("true");
}else{
pw.println("false");
}
pw.flush();
} socket.close();//关闭连接
ss.close();//关闭服务器
System.out.println("服务器已关闭");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

版权声明:本文为博主原创文章,未经博主允许不得转载。

TCP 登录实现代码的更多相关文章

  1. 基于CSS3动态背景登录框代码

    基于CSS3动态背景登录框代码.这是一款基于jQuery+CSS3实现的带有动画效果的动态背景登陆框特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class ...

  2. PHP简单登录退出代码

    PHP简单登录退出代码 登录页面login.html 负责收集用户填写的登录信息.  <html> <head> <title></title> < ...

  3. java-JDBC登录注册代码

    登录: public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); Sy ...

  4. C# WinForm登录窗口代码

    Main窗体为应用程式主窗体,Login为登录窗体.均为SDI窗体.     两种实现方式如下: 1.应用程式入口放在Login窗体,在Login窗体实现登录机制,验证通过则创建Main窗体的实例,并 ...

  5. TCP服务器/客户端代码示例

    TCP服务器代码: #include <errno.h> #include <string.h> #include <stdlib.h> #include < ...

  6. 基于RBAC权限验证, 中间价middleware实现, views 登录视图代码

    废话不多说  上代码: 基础实现: rom django.shortcuts import HttpResponse, redirect, render from django.http import ...

  7. java请求登录接口代码示例

    前言 近期研究如何利用java代码如何获取其他系统中所需的数据,自己总结的方法如下: 1.工具类代码 /** * <pre> * 方法体说明:向远程接口发起请求,返回字符串类型结果 * @ ...

  8. 原生ajax实现登录(一部分代码)

        <script type="text/javascript">          function ajax() {          //先声明一个异步请求对 ...

  9. PHP用户注册与登录完整代码【4】

    login.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...

随机推荐

  1. NSSrting的几种经常使用的使用方法

    1.创建NSString字符串 NSString 与 char* 最大的差别就是 NSString是一个objective对象,而char* 是一个字节数组. @+" 字符串 " ...

  2. MongoDB学习笔记&lt;六&gt;

    继续mongoDB的学习 --索引具体解释 --索引管理 --空间索引 1.创建简单索引 (1)先准备20万条数据 for(var i = 0;i< 200000;i++){ db.books. ...

  3. linux 配置 skywalking

    linux安装elasticsearch 一.检测是否已经安装的elasticsearch ps -aux|grep elasticsearch 二.下载elasticsearch (1)下载网站为: ...

  4. rabbitmq 安装-单点

    centos6.5  rabbitmq搭建 环境:centos6.5 192.168.9.41   安装rabbitmq需要先安装erlang.rabbitmq3.6版本需要erlang R16B03 ...

  5. String知识点

  6. iOS10.3 UILable中划线失效问题

    iOS10.3系统的一个Bug,在UILable中含有中文时,中划线会失效 NSString *priceStr = [NSString stringWithFormat:@"%.2f元&q ...

  7. Scipy.sparse矩阵的存储,读取和转化为稠密矩阵

    import numpy as np import scipy.sparse as sp m = sp.lil_matrix((7329,7329)) np.save(path,m) #用numpy的 ...

  8. 复制一个带random指针的链表

    一个单链表,其中除了next指针外,还有一个random指针,指向链表中的任意某个元素.如何复制这样一个链表呢? 通过next来复制一条链是很容易的,问题的难点在于如何恰当地设置新链表中的random ...

  9. Android SDK Manager更新问题

    1.如果是windows7,那么"开始-->所有程序-->Android SDK Tools-->右键SDK Manager-->以管理员身份运行(A)"2 ...

  10. CSS3实现水位充满文字特效

    CSS3实现水位充满文字特效是一款既是Loading特效也是文字特效,Loading动画开始时,文字中的水位渐渐上升,为了模拟水位上升的真实效果,水面还会波浪浮动,当Loading动画结束时,文字中的 ...