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

怎么做刷东西网站/广东seo网站推广代运营

怎么做刷东西网站,广东seo网站推广代运营,长沙做网站公众微信号,微网站用什么软件做java socket实现全双工通信 单工、半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,…

java socket实现全双工通信

单工、半双工和全双工的定义

如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。

如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。

如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。

用swing 做的简单界面 实现了客户端和服务器端全双工通信。

Server端代码: 

package cn.cblue.net1;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.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
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;/**  * @Description: 服务端* @author huangzjb cblue2013@126.com* @Company Digital China* @date 2014-6-4 下午02:18:06* @version 1.0*/public class MyServer extends JFrame implements ActionListener {JTextArea jta = null;JTextField jtf = null;JButton jb = null;JPanel jp1 = null;JScrollPane jsp = null;PrintWriter pw = null;public static void main(String[] args) {new MyServer();}public MyServer() {jta = new JTextArea();jsp = new JScrollPane(jta);jtf = new JTextField(10);// 注册回车事件jtf.addKeyListener(new KeyListener() {@Overridepublic void keyTyped(KeyEvent e) {}@Overridepublic void keyReleased(KeyEvent e) {}@Overridepublic void keyPressed(KeyEvent e) {if (e.getKeyCode() == KeyEvent.VK_ENTER) {sendMessage();}}});jb = new JButton("发送");jb.addActionListener(this);// 注册一个监听事件jp1 = new JPanel();jp1.add(jtf);jp1.add(jb);this.add(jsp, BorderLayout.CENTER);this.add(jp1, BorderLayout.SOUTH);this.setTitle("chat server");this.setSize(300, 200);this.setVisible(true);// 接收从客户端发送过来的消息try {ServerSocket ss = new ServerSocket(2222);Socket s = ss.accept();BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));pw = new PrintWriter(s.getOutputStream(), true);// 写成pw = new PrintWriter(s.getOutputStream())会有问题while (true) {String info = in.readLine();String str = null;if (jta.getText() == null || "".equals(jta.getText())) {str = "Server:" + info;} else {str = jta.getText() + "\r\nServer:" + info;}jta.setText(str);jta.setCaretPosition(jta.getDocument().getLength());}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}// 把信息给客户端@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif (e.getSource() == jb) {sendMessage();}}/*** @Description: 发送消息给客户端* @throws*/public void sendMessage() {String info = jtf.getText();pw.println(info);pw.flush();jtf.setText("");if (jta.getText() == null || "".equals(jta.getText())) {jta.append("Client:" + info);} else {jta.append("\r\nClient:" + info);}jta.setCaretPosition(jta.getDocument().getLength());// 设置滚动条自动滚动}
}

Client端代码:

package cn.cblue.net1;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.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
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;/**  * @Description: 客户端* @author huangzjb cblue2013@126.com* @Company Digital China* @date 2014-6-4 下午02:18:24* @version 1.0*/public class MyClient extends JFrame implements ActionListener {JTextArea jta = null;JTextField jtf = null;JButton jb = null;JPanel jp1 = null;JScrollPane jsp = null;PrintWriter pw = null;public static void main(String[] args) {new MyClient();}public MyClient() {jta = new JTextArea();jsp = new JScrollPane(jta);jtf = new JTextField(10);// 注册回车事件jtf.addKeyListener(new KeyListener() {@Overridepublic void keyTyped(KeyEvent e) {}@Overridepublic void keyReleased(KeyEvent e) {}@Overridepublic void keyPressed(KeyEvent e) {if (e.getKeyCode() == KeyEvent.VK_ENTER) {sendMessage();}}});jb = new JButton("发送");jb.addActionListener(this);// 注册一个监听事件jp1 = new JPanel();jp1.add(jtf);jp1.add(jb);this.add(jsp, BorderLayout.CENTER);this.add(jp1, BorderLayout.SOUTH);this.setTitle("chat client");this.setSize(300, 200);this.setVisible(true);// 接收从服务端发送过来的消息try {Socket s = new Socket("127.0.0.1", 2222);BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));pw = new PrintWriter(s.getOutputStream(), true);while (true) {String info = in.readLine();String str = null;if (jta.getText() == null || "".equals(jta.getText())) {str = "Server:" + info;} else {str = jta.getText() + "\r\nServer:" + info;}jta.setText(str);jta.setCaretPosition(jta.getDocument().getLength());}} catch (IOException e) {e.printStackTrace();}}// 把信息给服务器端@Overridepublic void actionPerformed(ActionEvent e) {if (e.getSource() == jb) {sendMessage();}}/*** @Description: 发送消息给服务器端* @throws*/public void sendMessage() {String info = jtf.getText();pw.println(info);pw.flush();jtf.setText("");if (jta.getText() == null || "".equals(jta.getText())) {jta.append("Client:" + info);} else {jta.append("\r\nClient:" + info);}jta.setCaretPosition(jta.getDocument().getLength());// 设置滚动条自动滚动}}

转载于:https://www.cnblogs.com/Rozdy/p/4546845.html

http://www.jmfq.cn/news/4800583.html

相关文章:

  • 网站开发基础/站长之家工具查询
  • 公司网站怎么做才能吸引人/百度推广怎么看关键词排名
  • 网站建设与开发的论文/外链代发平台
  • 深圳横岗网站建设/企业网络营销方法
  • 佛山新网站建设服务/seo个人优化方案案例
  • wordpress 音乐列表/网站关键词优化公司
  • 做网站公司融资多少/网站首页模板
  • 做网站西宁/郑州网络推广团队
  • 大数据精准营销如何做/汕头seo推广外包
  • 网站设计前景怎样/无锡网站优化
  • 湘潭网站建设工作室/百度seo排名点击
  • 邯郸专业做网站多少钱/品牌运营公司
  • 网站建设目的与意义/学电商哪个培训学校好
  • 买了个域名怎么做网站/外链吧官网
  • 做网站设计图用什么软件/北京优化seo排名
  • 做网站维护有前途吗/体验营销策略
  • 十堰秦楚网/seo怎么做优化排名
  • wordpress软件下载站/成功营销案例分享
  • 建网站价格 优帮云/直播营销
  • 北京网站建设的价格低/明年2024年有疫情吗
  • 温州做网站建设公司/网络营销企业有哪些
  • seo整站优化托管/自媒体论坛交流推荐
  • 网站后台灰色/网站seo入门基础教程书籍
  • 重庆建设工程施工安全网/windows优化大师使用方法
  • 手机做网站时时彩赌博/南京seo公司排名
  • 长沙做网站哪里好/拉新推广怎么做
  • 南头专业的网站建设公司/有什么软件可以推广
  • 建站系统做网站/搜索引擎调词平台哪个好
  • 如何做摄影网站/中国免费网站服务器2020
  • 打开特定的网站特别慢/深圳百度推广seo公司