简易tcp网络程序

来源:互联网 发布:免费淘宝一键复制宝贝 编辑:程序博客网 时间:2024/06/04 17:50
服务端程序
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;public class MyTcp {private BufferedReader reader;private ServerSocket server;private Socket socket;void getsever(){try{server=new ServerSocket(8998);             //实例化socket对象System.out.println("服务器套接字已经建立");while(true){//等待客户机连接  若连接  则创建一个套接字socket=server.accept();       //实例化BufferedReader对象reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));getClientMessage();                   }}catch(Exception e){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(reader!=null){socket.close();}}catch(Exception e){e.printStackTrace();}}public static void main(String[] args){MyTcp tcp=new MyTcp();tcp.getsever();}}


客户端程序

import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.PrintWriter;import java.net.Socket;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.border.BevelBorder;public class MyClient extends JFrame{/** *  */private static final long serialVersionUID = 9210355527389778458L;private PrintWriter write;Socket socket;private JTextArea ta=new JTextArea();private JTextField jf=new JTextField();Container c=getContentPane();public MyClient(String title){super(title);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JScrollPane scrollPane=new JScrollPane();scrollPane.setBorder(new BevelBorder(BevelBorder.RAISED));c.add(scrollPane,BorderLayout.CENTER);scrollPane.setViewportView(ta);c.add(jf,"South");jf.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){write.println(jf.getText());ta.append(jf.getText()+"\n");ta.setSelectionEnd(ta.getText().length());jf.setText("");}});}private void connect(){ta.append("尝试连接\n");try{socket=new Socket("127.0.0.1",8998);write=new PrintWriter(socket.getOutputStream(),true);ta.append("完成连接");}catch(Exception e){e.printStackTrace();}}public static void main(String[] args){MyClient client=new MyClient("向服务器送数据");client.setSize(500,500);client.setVisible(true);client.connect();}}


0 0
原创粉丝点击