TCP客户端程序

这是两个客户端程序,第一个实现将用户在文本框输入的信息发送至服务器端,并且将文本框中输入的信息显示在客户端的文本域中

第二个链接新浪的服务器,输出一些信息

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那段作者有一点问题,就是找不到自己的服务器端口了。。不知道怎么办随便写的。。

猜你喜欢

转载自blog.csdn.net/gaoweiyuan1996/article/details/82054413
今日推荐