socket通信,服务端怎么验证是否接收客户端发过来的数据.

一个南方人 2012-07-13 09:10:52
socket 服务端:

import java.io.IOException;
import java.net.ServerSocket;


public class listenserver {

/**
* @param args
*/
private ServerSocket ss;
private boolean listening=true;
public listenserver(){
init();
list();
}
private void init(){
try {

ss=new ServerSocket(9090,10);
System.out.println("开始在9090端口进行监听...");

} catch (IOException e) {
System.out.println("无法在端口9090下进行监听");
e.printStackTrace();
}
}
private void list(){
while(listening){
try {
new Thread(new dialogserve(ss.accept())).start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new listenserver();
}

}

import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.net.SocketException;


public class dialogserve implements Runnable {
private Socket s;
private byte b[];
private String temp;
private String rev;
private InputStream is;
private int len;

public dialogserve(Socket ss) {
s = ss;
b = new byte[1024];
try {
is = s.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
rev = "";
}

public void run() {
try {
while (s.isConnected() == true) {
if ((len = is.read(b)) != -1) {
temp = new String(b, 0, len);
rev = temp;
System.out.println(rev);
temp = null;
Thread.sleep(1000);
}else{

return;
}

}
is.close();
s.close();
System.out.println("会话socket已断开!");
} catch (SocketException se) {
System.out.println("客户断已断开!");
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
System.exit(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

已经测试可通过客户端直接发送数据到服务端.但服务端对客户端发送的数据没有任何验证,如何在服务端搞个登录名,如果是客户端发过来的数据,要通过验证才行.本人初学,各位大虾给个思路,或代码,求解.
...全文
344 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
你好毒你好毒 2012-07-13
  • 打赏
  • 举报
回复
给你指点下思路吧,代码就不写了!!

你在服务器端定义一个状态字段,然后用switch控制。
客户端第一次进来就需要登录,登录失败做什么处理我不知道,你自己处理
登录成功的话,将登录成功的状态赋给状态字段,并告诉客户端登录成功,客户端如果收到登录成功的信息再发app数据
一个南方人 2012-07-13
  • 打赏
  • 举报
回复
求解求解呀...

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧