当前位置: 首页 > news >正文

网站广告网络推广价格低深圳网站改版公司

网站广告网络推广价格低,深圳网站改版公司,wordpress弹出小提示,沪佳装修公司全部门店我们首先要完成服务端,不然出错,运行也要先运行服务端,如果不先连接服务端,就不监听,那客户端不知道连接谁 服务端 package d21z; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.a…

 我们首先要完成服务端,不然出错,运行也要先运行服务端,如果不先连接服务端,就不监听,那客户端不知道连接谁

服务端

package d21z;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;public class fwd extends JFrame implements ActionListener,KeyListener {//1.窗体组件//文本域private JTextArea wby;//滚动条private JScrollPane gdt;//输入面板private JPanel mb;//文本框private JTextField wbk;//按钮private JButton an ;//输出流private BufferedWriter BW=null;public fwd() {//将组件初始化wby=new JTextArea();//设置文本域不可编辑wby.setEditable(false);//要将文本域放到滚动条中,实现滚动效果gdt=new JScrollPane(wby);//面板mb=new JPanel();wbk=new JTextField(10);an=new JButton("发送");//文本框和按钮要放到面板中mb.add(wbk);mb.add(an);//将滚动条和面板放到窗体中this.add(gdt,BorderLayout.CENTER);//将文本内容也就是滚动条放到窗体的中间this.add(mb,BorderLayout.SOUTH);//将输入面板放到窗体的底(南)部//窗体属性setTitle("服务端");//标题setSize(400,400);//窗体大小setLocation(250,200);//位置setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭方式setVisible(true);//是否显示//发送事件an.addActionListener(this);wbk.addKeyListener(this);try {//创建套接字ServerSocket s=new ServerSocket(8998);Socket sk = s.accept();//获取输入流(读取文本框的数据)//使用BufferedReader的readLine()方法,为了一行一行读取BufferedReader r=new BufferedReader(new InputStreamReader(sk.getInputStream()));//获取输出流(输出数据)也是一行一行的//BufferedWriter的newLine()方法BW=new BufferedWriter(new OutputStreamWriter(sk.getOutputStream()));//循环获取数据,并拼接到文本域中String line=null;while((line=r.readLine())!=null) {//将读取的数据拼接到文本域中wby.append(line+"\n");}//关闭s.close();sk.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void sx() {//获取文本框的数据String text=wbk.getText();//拼接要发送的内容text="服务端:"+text;//服务端面板显示wby.append(text+"\n");try {//发送BW.write(text);//换行BW.newLine();//刷新BW.flush();//让文本框为空wbk.setText("");}catch(IOException e1) {e1.printStackTrace();}}public static void main(String[] args) {new fwd();}@Override//按钮事件public void actionPerformed(ActionEvent e) {sx();}//回车事件
@Overridepublic void keyPressed(KeyEvent e) {if(e.getKeyCode()==KeyEvent.VK_ENTER) {sx();}}@Overridepublic void keyTyped(KeyEvent e) {// TODO Auto-generated method stub}@Overridepublic void keyReleased(KeyEvent e) {// TODO Auto-generated method stub}}

 客户端

package d21z;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;public class Khd extends JFrame implements ActionListener,KeyListener{//1.窗体组件//文本域private JTextArea wby;//滚动条private JScrollPane gdt;//输入面板private JPanel mb;//文本框private JTextField wbk;//按钮private JButton an ;private BufferedWriter BW=null;public Khd() {//将组件初始化wby=new JTextArea();//设置文本域不可编辑wby.setEditable(false);//要将文本域放到滚动条中,实现滚动效果gdt=new JScrollPane(wby);//面板mb=new JPanel();wbk=new JTextField(10);an=new JButton("按钮");//文本框和按钮要放到面板中mb.add(wbk);mb.add(an);//将滚动条和面板放到窗体中this.add(gdt,BorderLayout.CENTER);//将文本内容也就是滚动条放到窗体的中间this.add(mb,BorderLayout.SOUTH);//将输入面板放到窗体的底(南)部//窗体属性setTitle("客户端");//标题setSize(400,400);//窗体大小setLocation(800,200);//位置setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭方式setVisible(true);//是否显示//绑定一个发送的监听事件an.addActionListener(this);wbk.addKeyListener(this);try {//创建客户端的套接字(尝试连接)Socket sk=new Socket("127.0.0.1",8998);//获取Socket的输入流BufferedReader r=new BufferedReader(new InputStreamReader(sk.getInputStream()));//获取Socket的输出流BW=new BufferedWriter(new OutputStreamWriter(sk.getOutputStream()));//循环获取数据,并拼接到文本域中String line=null;while((line=r.readLine())!=null) {//循环读取wby.append(line+"\n");}//关闭Socket通道sk.close();}catch(IOException e) {e.printStackTrace();};}public void sx() {//获取文本框的数据String text=wbk.getText();//拼接要发送的内容text="客户端:"+text;//服务端面板显示wby.append(text+"\n");try {//发送BW.write(text);//换行BW.newLine();//刷新BW.flush();//让文本框为空wbk.setText("");}catch(IOException e1) {e1.printStackTrace();}}public static void main(String[]args) {new Khd();}@Overridepublic void actionPerformed(ActionEvent e) {sx();}@Overridepublic void keyPressed(KeyEvent e) {if(e.getKeyCode()==KeyEvent.VK_ENTER) {sx();}}@Overridepublic void keyTyped(KeyEvent e) {// TODO Auto-generated method stub}@Overridepublic void keyReleased(KeyEvent e) {// TODO Auto-generated method stub}}

运行结果:

http://www.yayakq.cn/news/972110/

相关文章:

  • 什么网站建设最便宜搞笑图片制作在线生成器
  • 抚松做网站wordpress用户个人主页
  • 台州建设信息港网站消费返利网站做的最长久的
  • 政务门户网站建设思想邢台123免费发布信息
  • 密山网站全国网站开发公司
  • 官网网站怎么创建网站建设的公司做销售
  • 建站系统网站建设百度账号申诉
  • 东营做网站seo的网站对于企业的好处
  • 建设工程协会网站查询网站非法篡改
  • 内蒙古省呼和浩特网站建设建筑工程网络图图片
  • 常宁市城市建设规划管理局网站怎么注册网站的步骤
  • 湖州外贸网站建设建网站空间的详细说明
  • 网站建设流程是什么意思wordpress建完目录404
  • 网站国外空间关键词排名点击
  • 专业的聊城做网站费用律师个人网站有用吗
  • 网站session 验证成都微官网制作
  • app网站多少钱做动画网站公司
  • com网站注册域名兰州模板网站seo价格
  • 网站建好了还需要什么维护wordpress多站
  • 做网站苏州正规的手机网站建设
  • 建设部网站一级建造师报名wordpress模板图片不显示
  • 网站服务器租用多少钱才合理呢协会门户网站建设
  • 有什么做木工的网站小网站从哪找的
  • 网站建设泉州效率网络网站首页特效
  • 网络营销网站建设方案台州市建站公司
  • 成立一个网站平台要多少钱网站的模块
  • 网站这么做优化中国招标信息公开网
  • 免费网站制作开发公司wordpress文章管理插件
  • 网站建设查询闵行区
  • 百度提交网站入口游戏怎么开发