这是两个客户端程序,第一个实现将用户在文本框输入的信息发送至服务器端,并且将文本框中输入的信息显示在客户端的文本域中
第二个链接新浪的服务器,输出一些信息
package TCP;
import java.io.PrintWriter;
import java.net.Socket;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.border.BevelBorder;
public class MyClien extends JFrame {//创建类继承JFrame
private PrintWriter writer;//创建PrinterWriter类的对象
Socket socket;//创建Socket对象
private JTextArea ta=new JTextArea();
private JTextField tf=new JTextField();//创建这两个对象
Container cc;//声明Container方法
public MyClien(String title) {
super(title);//调用父类的构造方法
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cc=this.getContentPane();//实例化对象
final JScrollPane scrollPane=new JScrollPane();
scrollPane.setBorder(new BevelBorder(BevelBorder.RAISED));
getContentPane().add(scrollPane,BorderLayout.CENTER);
scrollPane.setViewportView(ta);
cc.add(tf,"South");//
tf.addActionListener(new ActionListener() {
//绑定事件
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//将文本框中的信息写入流
writer.println(tf.getText());
//将文本框中的信息显示在文本域里面
ta.append(tf.getText()+'\n');
ta.setSelectionEnd(ta.getText().length());
tf.setText("");
//将文本框清空
}
});
}
private void connect() {
ta.append("尝试连接");
try {
socket=new Socket("127.0.0.1",8998);
writer=new PrintWriter(socket.getOutputStream(),true);
ta.append("完成连接"+'\n');
}catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MyClien clien=new MyClien("向服务器发送数据");
clien.setSize(200,200);
clien.setVisible(true);
clien.connect();
}
}
package TCP;
import java.io.*;
import java.net.*;
public class WebClientDemo {
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
//创建socket的实例对象
Socket client=new Socket("www.sina.com.cn",80);
//输出服务器信息
System.out.println("服务器IP地址是"+client.getInetAddress());
System.out.println("服务器端口号是"+client.getPort());
//输出客户机信息
System.out.println("客户端IP地址是"+client.getLocalAddress());
System.out.println("客户机端口号是"+client.getLocalPort());
}
}
服务器IP地址是www.sina.com.cn/124.95.163.249
服务器端口号是80
客户端IP地址是/192.168.31.34
客户机端口号是56372
、作者一直对于socket不太懂,编写的下面这个程序在实例化socket时候出现了问题,各位大神要是能告诉小弟该怎么改小弟感激不尽,除了那一行有一点问题之外其他部分都是对的。
在try实例化socket那段作者有一点问题,就是找不到自己的服务器端口了。。不知道怎么办随便写的。。