你的位置:首页 > 软件开发 > Java > socket网络套节字

socket网络套节字

发布时间:2017-07-26 00:00:21
一:服务端:1.创建客户端:package com.ywh.serversocket;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.util.Se ...

一:服务端:

1.创建客户端:

socket网络套节字socket网络套节字
package com.ywh.serversocket;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.util.Set;public class LoginThread extends Thread{  Socket client;  boolean bl;    //通过构造传入一个客户socket  public LoginThread(Socket socket)  {    client=socket;  }      @Override  public void run()  {    // TODO Auto-generated method stub    try    {      //如果登录成功才运行发送消息的线程      LoginServer();      if(bl)      {        new SendThread(client).start();      }    } catch (Exception e)    {      // TODO Auto-generated catch block      e.printStackTrace();    }          }      public void LoginServer()throws Exception  {    //将连接后客户端输入传过来的用户名进行比对确认是否存在此用户        //先把传过来的用户名转换为string字符串    InputStream input=client.getInputStream();    byte[] bytes=new byte[1024];    input.read(bytes);    String str=new String(bytes);    System.out.println(str);    //通过Set的add方法的返回值来确认用户名是否存在,    //若用户名存在返回值为false,不存在则将新用户名加入用户名Set为true,    boolean b=UserInfo.nickName.add(str);    OutputStream output=client.getOutputStream();        if(b)    {      //当b=true,即新建用户成功时通知所有用户有新用户上线            //告知当前新用户创建成功      output.write("1".getBytes());      //将新用户的socket和用户名存入用户名map      UserInfo.userMap.put(client, str);      //获取用户socket      Set<Socket> users=UserInfo.userMap.keySet();      for(Socket user:users)      {        OutputStream op=user.getOutputStream();        op.write((str+"已上线").getBytes());      }      bl=true;    }else    {      //若创建新用户失败,则返回false      output.write("0".getBytes());      LoginServer();      bl=false;    }      }    }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:socket网络套节字

关键词:网络

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。