枯燥的大学生活总是需要一些小东西去耍耍,正好帅帅在学习计算机网络,来试一下socket通信,看看在Java中套接字这玩意怎么耍,嘻嘻
网上关于实现双机通信Socket编程案例有很多,但是一个普适性的,适合新手快速上手的不多
下面介绍一种实现单方面会话的CS(Client and Server)双机通信
首先呢你需要在一台A机器下打开命令行cmd->ipconfig获取你的ipv4地址很关键oo比如说192.168.100.32
然后呢这个就作为服务器的地址咯
再打开你的IDE新建一个Javaproject,新建一个服务类我这里是Test_imply
代码如下:
package test;
import java.io.*;
import java.net.*;
import java.util.*;
public class Test_imply
{
public static void main(String[] args)
{
int count =0;
try{
ServerSocket server=new ServerSocket(9999);
//打印提示信息
System.out.println("服务器已经对9999端口进行监听……");
//服务器循环接受客户请求
while(true){
Socket sc=server.accept();
//获取当前连接的输入流,并使用处理流进行封装
DataInputStream din=new DataInputStream(sc.getInputStream());
//获取当前连接的输出流,并使用处理流封装
DataOutputStream dout=new DataOutputStream(sc.getOutputStream());
//打印客户端的信息
System.out.println("=======================第"+(++count)+"次会话=================");
System.out.print("客户端口号:"+sc.getInetAddress());
System.out.println(",本地端口:"+sc.getPort());
System.out.println("客户端信息:"+din.readUTF());
//向客户端发送回应信息
dout.writeUTF(sc.getInetAddress()+"您好,帅帅服务器实时时间是:"+(new Date())+".并且已经成功收到您的请求");
//关闭流
din.close();
dout.close();
sc.close();
}
}
catch(Exception e){
e.printStackTrace();
}
}
}然后呢运行它,起来伸个懒腰,到B机器上打开IDE(比如eclipse)新建一个Javaproject,新建一个服务类我这里是Client
代码如下:
import java.io.*;
import java.net.*;
public class Client
{
public static void main(String[] args){
String Serverip,Client_say;
Serverip="192.168.100.32";//服务器ip
Client_say=""; //客户机发来请求内容
try{
//创建连接到服务器的Socket对象
while(!Client_said.equals("end")){
Socket sc=new Socket(Serverip,9999);
DataInputStream din=new DataInputStream(sc.getInputStream());//封装
DataOutputStream dout=new DataOutputStream(sc.getOutputStream());
System.out.println("连接成功,请输入:");
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
Client_said=input.readLine();//获取客户机说的话
dout.writeUTF(Client_said);
System.out.println(din.readUTF());
din.close();
dout.close();
sc.close();
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
注意先别急着运行,先确认你的A,B两台机器连接在同一局域网下,确认后才运行!
下面来一波测试
还有注意一下所连服务器的ip,这是建立连接的关键哦哦!
本文详细介绍了一种简单的Java Socket编程方案,适用于初学者快速掌握客户端-服务器模式下的双机通信技术。通过具体步骤和代码示例,展示了如何在两台位于同一局域网内的计算机之间建立通信。
1万+

被折叠的 条评论
为什么被折叠?



