java基础学习之网络编程全双工
来源:互联网 发布:淘宝消保保证金30元 编辑:程序博客网 时间:2024/05/22 09:05
/** * 这是一个客服端 */package com.test;import java.net.*;import java.io.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;/** * @author Administrator * */public class MyClient1 extends JFrame implements ActionListener {/** * @param args */JTextArea jta=null;JTextField jtf=null;JScrollPane jsp=null;JButton jb=null;JPanel jp1=null;PrintWriter pw=null;public static void main(String[] args) {// TODO 自动生成的方法存根MyClient1 mc=new MyClient1();}public MyClient1(){jta=new JTextArea();jsp=new JScrollPane(jta);jtf=new JTextField(10);jb=new JButton("发送");jb.addActionListener(this);jp1=new JPanel();jp1.add(jtf);jp1.add(jb);this.add(jp1);this.add(jsp,"Center");this.add(jp1,"South");this.setTitle("QQ简易-客户端");this.setSize(300,200);this.setVisible(true);try {//Socket函数就是连接某刻服务器端Socket s=new Socket("127.0.0.1",9999);InputStreamReader isr=new InputStreamReader(s.getInputStream());BufferedReader br=new BufferedReader(isr);pw=new PrintWriter(s.getOutputStream(),true);while(true){//不停的读取服务器发送的信息String info =br.readLine();jta.append("服务器 对 客户端说 "+info+"\r\n");}} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();} }@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根if(e.getSource()==jb){String info=jtf.getText();//把客户端的信息显示到jtajta.append("客户端 对 服务器说"+info+"\r\n");pw.println(info);//清空发送框jtf.setText("");}}}
<pre name="code" class="java">/** * 这是一个服务器程序,在9999端口监听 * 可以通过控制台,可以回送客服端信息 */package com.test1;import java.io.*;import java.net.*;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;/** * @author Administrator * */public class MyServer1 extends JFrame implements ActionListener{/** * @param args */JTextArea jta=null;JTextField jtf=null;JScrollPane jsp=null;JButton jb=null;JPanel jp1=null;PrintWriter pw=null;public static void main(String[] args) {// TODO 自动生成的方法存根MyServer1 ms1=new MyServer1();}public MyServer1(){jta=new JTextArea();jsp=new JScrollPane(jta);jtf=new JTextField(10);jb=new JButton("发送");jb.addActionListener(this);jp1=new JPanel();jp1.add(jtf);jp1.add(jb);this.add(jp1);this.add(jsp,"Center");this.add(jp1,"South");this.setTitle("QQ简易-服务器");this.setSize(300,200);this.setVisible(true);try {//在9999号端口监听System.out.println("我是服务器,在9999监听。。。");ServerSocket ss=new ServerSocket(9999);//等待某个客服端来连接,该函数会返回一个Socket连接Socket s=ss.accept();//读取客户端发来的信息InputStreamReader isr=new InputStreamReader(s.getInputStream());BufferedReader br=new BufferedReader(isr); pw=new PrintWriter(s.getOutputStream(),true);while(true){//读取从客户端发来的信息String info=br.readLine();jta.append("客户端 对 服务器说"+info+"\r\n");}} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();}}@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根//如果用户按下发送按钮if(e.getSource()==jb){//把服务器在jtf写的内容发送给客户端String info=jtf.getText();jta.append("服务器 对 客户端说"+info+"\r\n");pw.println(info);//清空发送框jtf.setText("");}}}
0 0
- java基础学习之网络编程全双工
- VC 串口编程基础之单工、半双工和全双工的定义和区别
- python全双工聊天窗口编程学习之旅
- (3)java网络socket通信---半双工、全双工
- 利用Java实现串口全双工通讯-Java基础-Java-编程开发
- Unix网络编程学习日记(二):多线程全双工socket客户端的实现
- Unix网络编程学习日记(三):多进程全双工socket客户端的实现
- JAVA基础学习之UDP网络编程
- JAVA基础学习之TCP网络编程
- java基础学习之网络编程
- Java学习笔记-----Socket全双工通信
- 【python网络编程】多线程实现多用户全双工聊天
- 网络的全双工与半双工
- Java网络编程基础学习
- Java基础-网络编程学习
- Java学习之路全攻略——编程本质论-Java基础-Java-编程开发
- Java网络编程之基础
- java基础之 网络编程
- <a>点击链接&<img>插入图片
- 排序算法———折半插入排序
- 笔记--URL伪静态
- 开源中国客户端Activity管理类(可直接用到项目中)
- MySQL RR隔离 读一致性
- java基础学习之网络编程全双工
- 错误的算法
- Process.Start()方法详解_System.Diagnostics.Process.Start()的用法
- 数据统一管理--企业决策分析之刚需
- Keil MDK背景颜色配置方法,实现仿Sublime效果
- __VA_ARGS__用法
- ajax
- 农村品上行和食品安全将是未来十年的主题
- 自身问题