服务端程序
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();
}
}