JAVA网络编程

来源:互联网 发布:高斯多峰曲线拟合算法 编辑:程序博客网 时间:2024/06/03 13:40

1.Server端代码

package TCP;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;import java.net.SocketTimeoutException;public class Server {private Socket socket;private ServerSocket server;private BufferedReader reader;public static void main(String[] args) {new Server().getServer();}void getServer(){try{server = new ServerSocket(8888);server.setSoTimeout(1000*1000);System.out.println("服务器套接字创建成功...");while(true){System.out.println("等待客户端连接...");socket = server.accept();reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));getClientMessage();}}catch(SocketTimeoutException e){System.out.println("超时啦!!!");}catch(Exception e){System.out.println("创建套接字失败...");e.printStackTrace();}}private void getClientMessage() { try{ while(true){ System.out.println("客户机:"+reader.readLine()); } }catch(Exception e){ e.printStackTrace(); } try{ if(reader != null){ reader.close(); } if(socket != null){ socket.close(); } }catch(Exception e){ e.printStackTrace(); }}}

2.Client端代码

package TCP;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.PrintWriter;import java.net.InetAddress;import java.net.Socket;import javax.swing.JFrame;import javax.swing.JTextArea;import javax.swing.JTextField;public class Client extends JFrame{private PrintWriter writer;Socket socket;private JTextArea ta = new JTextArea();private JTextField tf = new JTextField();Container cc;public static void main(String[] args) {Client c = new Client("向服务器发送数据");c.setBounds(300,300,300,300);c.setVisible(true);c.connect();}public Client(String s) {super(s);cc = this.getContentPane();cc.add(ta, "North");cc.add(tf, "South");tf.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {writer.println(tf.getText());ta.append(tf.getText()+'\n');tf.setText(" ");}});}private void connect(){ta.append("尝试连接\n");try{socket = new Socket("192.168.21.1",8888);writer = new PrintWriter(socket.getOutputStream(),true);ta.append("完成连接\n");InetAddress netAddress = socket.getInetAddress();System.out.println(netAddress.getHostAddress());System.out.println(socket.getPort());}catch(Exception e){e.printStackTrace();}} }

一、TCP部分

1)核心类

2)核心API

二、UDP部分

1)核心类

2)核心API

三、

原创粉丝点击