客户端
package client;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
import javax.xml.ws.handler.MessageContext.Scope;
public class Client1 {
private Scanner sc=new Scanner(System.in);
private OutputStream out;
private InputStream in;
private Socket socket;
public Client1(){
try {
//创建socket对象
socket = new Socket("127.0.0.1",8888);
System.out.println("连上服务器...");
while(true){
System.out.println("请输入:");
out = socket.getOutputStream();
//输入
String next = sc.next();
out.write(next.getBytes());
in = socket.getInputStream();
byte[] b=new byte[1024*1024];
int len = in.read(b);
String string = new String(b, 0, len);
if("bye".equals(string)){
break;
}
System.out.println("服务器回复:"+string);
}
in.close();
out.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Client1 c=new Client1();
}
}
服务器端
package server;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server1 {
private Scanner sc=new Scanner(System.in);
public Server1(){
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器等待连接中.....");
Socket socket = serverSocket.accept();
System.out.println("连接成功");
while(true){
InputStream in = socket.getInputStream();
byte[] b=new byte[1024*1024];
int len = in.read(b);
String id=new String(b,0,len);
System.out.println("客户端说:"+id);
OutputStream out = socket.getOutputStream();
String next = sc.next();
out.write(next.getBytes());
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Server1 s=new Server1();
}
}
多线程的服务器端
package more.server;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerMore {
public static void main(String[] args) {
ServerMore s=new ServerMore();
}
public ServerMore(){
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器等待链接中.....");
while(true){
Socket socket = serverSocket.accept();
System.out.println("连接成功");
ServerThread st=new ServerThread(socket);
new Thread(st).start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
class ServerThread implements Runnable{
private Socket socket;
private InputStream in;
private OutputStream out;
public ServerThread(Socket socket){
this.socket=socket;
}
@Override
public void run() {
try {
while(true){
in = socket.getInputStream();
byte[] b=new byte[1024];
int len = in.read(b);
String msg=new String(b,0,len);
System.out.println("客户端发送过来的消息为:\t"+msg);
if("bye".equals(msg)){
break;
}
out=socket.getOutputStream();
out.write("我是服务器".getBytes());
}
in.close();
out.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。