websocket双向通信,java socket通信界面

  websocket双向通信,java socket通信界面

  服务端:

  导入Java。awt。borderlayout

  导入Java。awt。维度;

  导入Java。awt。工具包;

  导入Java。awt。事件。动作事件;

  导入Java。awt。事件。动作监听器;

  导入Java。io。缓冲阅读器;

  导入Java。io。io异常;

  导入Java。io。inputstreamreader

  导入Java。io。版画家;

  导入Java。网。服务器套接字;

  导入Java。网。插座;

  导入javax。挥棒。jbutton

  导入javax。挥棒。jframe

  导入javax。挥棒。jpanel

  导入javax。挥棒。jscrollpane

  导入javax。挥棒。jsplitpane

  导入javax。挥棒。jtextarea

  公共类ChatFrameServer{

  私人版画家pw;

  私有窗口框架;

  私有JPanel窗格_按钮

  私有JSplitPane窗格_ center

  //显示内容的文本框,输入内容的文本框,发送内容按钮

  private JScrollPane pane _ show窗口;

  私有JScrollPane pane _ input窗口;

  私有JTextArea area _ show窗口;

  私有JTextArea area _ input窗口;

  私有JButton btn _ send

  私有维度维度;//用于设置区域_橱窗可拖拉的大小

  //初始化

  公共聊天框架服务器(){

  frame=new JFrame();

  pane _ buttom=new JPanel();

  pane _ show window=new JScrollPane();

  pane _ input window=new JScrollPane();

  area _ show window=new JTextArea();

  area _ input window=new JTextArea();

  窗格_中心=新的JSplitPane(JSplitPane .VERTICAL_SPLIT,false,pane_showWindow,pane _ input window);

  btn_send=new JButton(发送);

  维度=新维度(50,300);

  //调用方法显示窗口

  公共void showFrame(){

  初始化框架();

  initChatTextArea();

  init按钮();

  BTN _ send();

  socket();

  //主窗体

  public void initFrame(){

  frame.setTitle(服务端);

  int width=(int)工具包。getdefaulttoolkit().getScreenSize().getWidth();

  int height=(int)工具包。getdefaulttoolkit().getScreenSize().getHeight();

  frame.setBounds(宽度/2,高度/2,400,450);

  框架。设置可见(真);

  //内容显示文本框和输入内容文本框

  private void initChatTextArea(){

  //取得视图焦点

  pane_showWindow.getViewport().add(area _ show window);

  pane_inputWindow.getViewport().add(area _ input window);

  //将显示文本域设置为不可编辑

  区域_显示窗口。设置可编辑(false);

  //设置显示文本域可拖拉的大小

  窗格_显示窗口。setminimumsize(维度);

  frame.add(pane_center,BorderLayout .中心);

  //发送文件,发送内容按钮

  public void initButton(){

  pane _ buttom。添加(BTN _发送);

  框架。add(pane _ button,BorderLayout .南);

  已执行公共无效操作(操作事件e){

  string info=area _ inputwindow。gettext();

  area_showWindow.append(服务端: info \ r \ n );

  pw。println(info);

  面积输入窗口。settext();

  私有空的套接字(){

  服务器套接字ss

  尝试{

  ss=新服务器套接字(9988);

  //等待连接客户端

  插座s=ss。接受();

  InputStreamReader ISR=new InputStreamReader(s . getinputstream());

  BufferedReader br=新缓冲阅读器(ISR);

  //PrintWriter必须和窝有密切的关系

  pw=new PrintWriter(s . get output stream(),true);

  //读取从客户端法发来的信息

  while(true) {

  //读取从客户端发来的信息

  字符串信息=br。readline();

  //在文本栏里显示

  area_showWindow.append(客户端: info \ r \ n );

  } catch (IOException e) {

  e。printstacktrace();

  公共静态void main(String[] args) {

  ChatFrameServer chat=new ChatFrameServer();

  聊天。显示框架();

  客户端:

  导入Java。awt。borderlayout

  导入Java。awt。维度;

  导入Java。awt。工具包;

  导入Java。awt。事件。动作事件;

  导入Java。awt。事件。动作监听器;

  导入Java。io。缓冲阅读器;

  导入Java。io。io异常;

  导入Java。io。inputstreamreader

  导入Java。io。版画家;

  导入Java。网。插座;

  导入Java。网。unknownhostexception

  导入javax。挥棒。jbutton

  导入javax。挥棒。jframe

  导入javax。挥棒。jpanel

  导入javax。挥棒。jscrollpane

  导入javax。挥棒。jsplitpane

  导入javax。挥棒。jtextarea

  公共类聊天框架{

  私人版画家pw;

  私有窗口框架;

  私有JPanel窗格_按钮

  私有JSplitPane窗格_ center

  //显示内容的文本框,输入内容的文本框,发送内容按钮

  private JScrollPane pane _ show窗口;

  私有JScrollPane pane _ input窗口;

  私有JTextArea area _ show窗口;

  私有JTextArea area _ input窗口;

  私有JButton btn _ send

  私有维度维度;//用于设置区域_橱窗可拖拉的大小

  area _ input window=new JTextArea();

  窗格_中心=新的JSplitPane(JSplitPane .VERTICAL_SPLIT,false,pane_showWindow,pane _ input window);

  btn_send=new JButton(发送);

  维度=新维度(50,300);

  //调用方法显示窗口

  公共void showFrame(){

  初始化框架();

  initChatTextArea();

  init按钮();

  BTN _ send();

  socket();

  //主窗体

  public void initFrame(){

  frame.setTitle(客户端);

  int width=(int)工具包。getdefaulttoolkit().getScreenSize().getWidth();

  int height=(int)工具包。getdefaulttoolkit().getScreenSize().getHeight();

  frame.setBounds(宽度/2,高度/2,400,450);

  框架。设置可见(真);

  //内容显示文本框和输入内容文本框

  private void initChatTextArea(){

  //取得视图焦点

  pane_showWindow.getViewport().add(area _ show window);

  pane_inputWindow.getViewport().add(area _ input window);

  //将显示文本域设置为不可编辑

  区域_显示窗口。设置可编辑(false);

  //设置显示文本域可拖拉的大小

  窗格_显示窗口。setminimumsize(维度);

  frame.add(pane_center,BorderLayout .中心);

  //发送文件,发送内容按钮

  public void initButton(){

  pane _ buttom。添加(BTN _发送);

  框架。add(pane _ button,BorderLayout .南);

  私有void btn_send(){

  BTN发送。addactionlistener(新操作侦听器(){

  @覆盖

  已执行公共无效操作(操作事件e){

  string info=area _ inputwindow。gettext();

  area_showWindow.append(客户端: info \ r \ n );

  pw。println(info);

  面积输入窗口。settext();

  私有空的套接字(){

  尝试{

  插座s=新插座( 127.0.0.1 ,9988);

  InputStreamReader ISR=new InputStreamReader(s . getinputstream());

  BufferedReader br=新缓冲阅读器(ISR);

  pw=new PrintWriter(s . get output stream(),true);

  while(true){

  //不停地读取从服务器端发来的信息

  字符串信息=br。readline();

  area_showWindow.append(服务端: info \ r \ n );

  } catch (UnknownHostException e) {

  e。printstacktrace();

  } catch (IOException e) {

  e。printstacktrace();

  公共静态void main(String[] args) {

  聊天框chat=新聊天框();

  聊天。显示框架();

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: