客户端套接字
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();
}
}
}