服务器
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class server1{
static int port=3000;
static String name="";
static ServerSocket serverSocket;
public static void main(String[]args) {
try {
serverSocket=new ServerSocket(port);
Socket scSocket=serverSocket.accept();
DataOutputStream dOutputStream=new DataOutputStream(scSocket.getOutputStream());
DataInputStream dInputStream=new DataInputStream(scSocket.getInputStream());
name=dInputStream.readUTF();
System.out.println("与"+name+"建立连接成功");
jieshou();
}catch(Exception exception){
exception.printStackTrace();
}
}
public static void jieshou() {
try {
Socket scSocket=serverSocket.accept();
DataOutputStream dOutputStream=new DataOutputStream(scSocket.getOutputStream());
DataInputStream dInputStream=new DataInputStream(scSocket.getInputStream());
while(true) {
int ans=dInputStream.readInt();
if(ans==0) {
System.out.println("断开链接");
break;
}
System.out.println("接收到来自"+name+"的数据"+ans);
ans=ans*3-1;
dOutputStream.writeUTF(String.valueOf(ans));
System.out.println("返回给"+name+"的数据:"+String.valueOf(ans));
System.out.println("----------------------------------------------------------");
Thread.sleep(500);
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
客户端
package ch3;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
public class pc1{
static int port=3000;
static String name;
static Scanner input=new Scanner(System.in);
public static void main(String[]args) {
try {
Socket clientSocket=new Socket("localhost",port);
OutputStream outputStream=clientSocket.getOutputStream();
DataOutputStream dOutputStream=new DataOutputStream(outputStream);
System.out.println("与服务器建立连接。。。。");
System.out.print("请输入你的名字:");
name=input.next();
dOutputStream.writeUTF(name);
fasong();
}catch(Exception e) {
e.printStackTrace();
}
}
public static void fasong() {
try {
Socket clientSocket=new Socket("localhost",port);
OutputStream outputStream=clientSocket.getOutputStream();
DataOutputStream dOutputStream=new DataOutputStream(outputStream);
String strFromServer;
InputStream in = clientSocket.getInputStream();
DataInputStream din = new DataInputStream(in);
for(int i=2;i<=10;i+=2) {
dOutputStream.writeInt(i);
System.out.println(name+"向服务器发送数据"+i);
strFromServer = din.readUTF();
System.out.println("server返回值:"+strFromServer);
System.out.println("----------------------------------------------------------");
Thread.sleep(500);
}
dOutputStream.writeInt(0);
System.out.println("发送数据完毕");
}catch(Exception e) {
e.printStackTrace();
}
}
}