JAVA之TCP网络程序
来源:互联网 发布:用网络发短信 编辑:程序博客网 时间:2024/05/14 12:19
单方向的TCP通信
server端
import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;import java.util.Calendar;import java.util.Date;import java.text.SimpleDateFormat;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.WindowConstants;import javax.xml.crypto.Data;public class sSocket {private ServerSocket server;private Socket socket;private BufferedReader reader;private JTextArea jt = new JTextArea(15,20);private JTextField jf = new JTextField();public sSocket(){JFrame frame = new JFrame();JScrollPane js = new JScrollPane(jt);Container con = frame.getContentPane();frame.setLocationRelativeTo(null);con.add(js,"North");con.add(jf,"South");frame.setSize(200,400);frame.setVisible(true);frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);getSever();}public void getSever(){try {server = new ServerSocket(8848);jt.append("服务器套接字创建成功...\n");while(true){jt.append("wait for client connect...\n");socket = server.accept();reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));jt.append("connect client success...\n");getClientMsg();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void getClientMsg(){SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");try {while(true){String ss = reader.readLine();if(!ss.equals("")){Calendar c = Calendar.getInstance();jt.append("client " + df.format(c.getTime()) + "\n");jt.append(ss + "\n");jt.setCaretPosition(jt.getText().length());}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(reader != null)reader.close();if(socket != null)socket.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args){new sSocket();}}
客户端
import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Graphics;import java.awt.Point;import java.awt.Window;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.io.Writer;import java.net.InetAddress;import java.net.MalformedURLException;import java.net.ServerSocket;import java.net.Socket;import java.net.URL;import java.net.URLConnection;import java.net.UnknownHostException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Collection;import java.util.Iterator;import java.util.Random;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JProgressBar;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.SwingConstants;import javax.swing.WindowConstants;import javax.swing.table.DefaultTableModel;public class test extends JFrame{private JTextArea jt = new JTextArea(15,20);private JTextField jf = new JTextField();private PrintWriter writer;private ServerSocket server;private Socket socket;public test(){init();connect();jf.addActionListener(new ActionListener() {SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubString s = jf.getText();writer.println(s + "\n");Calendar c = Calendar.getInstance();jt.append("Me " + df.format(c.getTime()) + "\n");jt.append(s + "\n");jt.setCaretPosition(jt.getText().length());jf.setText("");}});}public void connect(){jt.append("try to connect...\n");try {socket = new Socket(InetAddress.getLocalHost(), 8848);writer = new PrintWriter(socket.getOutputStream(),true);jt.append("connet success...\n");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void init(){setLocationRelativeTo(null);Container con = getContentPane();JScrollPane js = new JScrollPane(jt);con.add(js,"North");con.add(jf,"South");setVisible(true);setSize(200,400);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] agrs){new test();}}
0 0
- JAVA之TCP网络程序
- java学习之Tcp网络程序
- 网络编程之TCP网络程序
- java网络编程之TCP
- java网络编程之TCP
- Java网络编程之TCP
- java 网络编程之TCP
- Java网络编程之TCP
- java网络编程之TCP
- Java之TCP网络编程
- Java网络编程之TCP网络通信
- Visual C#网络编制程序之TCP
- 网络socket编程之TCP示例程序
- Java网络编程:第一个TCP程序
- Java网络编程之TCP协议下—上传文件到服务器程序
- java网络编程之Tcp协议下的聊天小程序
- Java网络编程之TCP(一)
- java基础--网络编程之TCP
- 房贷计算器java版
- Mongodb主从复制
- 需求变更的控制及管理
- 让RecyclerView更通用
- 在头文件中加入#program once
- JAVA之TCP网络程序
- 从零开始的Android新项目4 - Dagger2篇
- 2001 计算两点间的距离
- unity批量拖拽到属性排序问题小技巧
- Xms Xmx PermSize MaxPermSize 区别
- 部分函数的递归与迭代(非递归)实现
- AutoItLibrary安装和常见问题解决
- copy_from_user()
- HDU 1361 Parencodings