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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。