TCP客户端程序

博客介绍了两个客户端程序,一是将用户在文本框输入信息发至服务器并显示,二是链接新浪服务器输出信息。作者在编写程序时,实例化Socket出现问题,找不到自己的服务器端口,希望得到修改建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值