第四次过程性考核
码云地址:https://gitee.com/qi0803/codes/rnzmfjqk0sbtc7eu6iw3g98
使用套接写连接编写一个简单的聊天室程序,客户端主函数放在Client_Main.java文件中,服务器端主函数放在Server_Main.java文件中
客户端:
import java.net.*;
import java.util.*;
public class Client_Main{
public static void main (String args[]){
Scanner scanner=new Scanner(System.in);
Thread readData;
ReceiveLetterForZhang receiver=new ReceiveLetterForZhang();
try{
readData=new Thread(receiver);
readData.start();
byte [] buffer=new byte[1];
InetAddress address=InetAddress.getByName("127.0.0.1");
DatagramPacket dataPack=new DatagramPacket(buffer,buffer.length,address,666);
DatagramSocket postman=new DatagramSocket();
System.out.print("输入发送信息:");
while(scanner.hasNext()){
String mess=scanner.nextLine();
buffer=mess.getBytes();
if(mess.length()==0)
System.exit(0);
buffer=mess.getBytes();
dataPack.setData(buffer);
postman.send(dataPack);
System.out.print("继续输入发送信息:");
}
}
catch(Exception e){
System.out.println(e);
}
}
}
import java.net.*;
public class ReceiveLetterForZhang implements Runnable{
public void run(){
DatagramPacket pack=null;
DatagramSocket postman=null;
byte data[]=new byte[8192];
try{
pack=new DatagramPacket(data,data.length);
postman=new DatagramSocket(888);
}
catch(Exception e){}
while(true){
if(postman==null) break;
else
try{
postman.receive(pack);
String message=new String(pack.getData(),0,pack.getLength());
System.out.println("收到:"+message);
}
catch(Exception e){}
}
}
}
服务器端:
import java.net.*;
import java.util.*;
public class Server_Main{
public static void main (String args[]){
Scanner scanner=new Scanner(System.in);
Thread readData;
ReceiveLetterForLi receiver=new ReceiveLetterForLi();
try{
readData=new Thread(receiver);
readData.start();
byte [] buffer=new byte[1];
InetAddress address=InetAddress.getByName("127.0.0.1");
DatagramPacket dataPack=new DatagramPacket(buffer,buffer.length,address,888);
DatagramSocket postman=new DatagramSocket();
System.out.print("输入发送信息:");
while(scanner.hasNext()){
String mess=scanner.nextLine();
buffer=mess.getBytes();
if(mess.length()==0)
System.exit(0);
buffer=mess.getBytes();
dataPack.setData(buffer);
postman.send(dataPack);
System.out.print("继续输入发送信息:");
}
}
catch(Exception e){
System.out.println(e);
}
}
}
import java.net.*;
public class ReceiveLetterForLi implements Runnable{
public void run(){
DatagramPacket pack=null;
DatagramSocket postman=null;
byte data[]=new byte[8192];
try{
pack=new DatagramPacket(data,data.length);
postman=new DatagramSocket(666);
}
catch(Exception e){}
while(true){
if(postman==null) break;
else
try{
postman.receive(pack);
String message=new String(pack.getData(),0,pack.getLength());
System.out.println("收到:"+message);
}
catch(Exception e){}
}
}
}
总结:由于自己没有好好学习,思路不是很清晰。感谢郑蕊老师这一段时间内,不辞辛苦的教导,我课后一定要好好反思,勤加练习。
浙公网安备 33010602011771号