Java TCP程序设计示例

客户端套接字

Socket(String host, int port)
          创建一个流套接字并将其连接到指定主机上的指定端口号。
 OutputStream getOutputStream()
          返回此套接字的输出流。
InputStream getInputStream()
          返回此套接字的输入流。

服务器套接字

ServerSocket(int port)
          创建绑定到特定端口的服务器套接字。
 Socket accept()
          侦听并接受到此套接字的连接。

注意先运行服务器代码,再运行客户端

客户端代码,打开一个eclipse编写

package defaul;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class Server {
	public static void main(String[] args)  {
		try {
			ServerSocket socket = new ServerSocket(1100);//创建服务器套接字
			System.out.println("服务器启动成功,等待客户端接入...");
			Socket client = socket.accept();//等待用户接入
			System.out.println("有客户端接入"+client.getInetAddress());
			OutputStream os = client.getOutputStream();
			String string = "客户端你好,我是服务器";
			os.write(string.getBytes());
			
			InputStream is = (InputStream) client.getInputStream();
			byte[] bt = new byte[1024];
			int len = is.read(bt);
			String string2 = new String(bt,0,len);
			System.out.println(string2);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 服务器也打开一个Eclipse

import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.io.OutputStream;


public class Client {
	public static void main(String[] args){
		try {
			Socket client = new Socket("127.0.0.1",1100);//创建套接字,指定服务器地址
			System.out.println("连接成功");
			
			InputStream is = client.getInputStream();
			byte[] bt = new byte[1024];
			int len = is.read(bt);
			String data = new String(bt, 0, len);
			System.out.println("服务器发来消息"+data);
			
			OutputStream os = (OutputStream) client.getOutputStream();
			String a = "你好服务器";
			os.write(a.getBytes());
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_41603898/article/details/88649662