socket的入门程序

一 .服务器向客户端发送信息

客户端程序
TestClient.java
import java.io.*;
import java.net.*;
public class TestClient {
	public static void main(String[] args){
		try {
			Socket s=new Socket("127.0.0.1",8488);
			//从服务器端收到信息
			InputStream is=s.getInputStream();
			DataInputStream dis=new DataInputStream(is);
			System.out.println(dis.readUTF());
			dis.close();
			s.close();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


}
服务器程序
import java.net.*;
import java.io.*;
public class TestServer {


	public static void main(String[] args){
		try {
			ServerSocket ss=new ServerSocket(8488);
			while(true){
				Socket s=ss.accept();
				OutputStream os=s.getOutputStream();
				DataOutputStream dos=new DataOutputStream(os);
				dos.writeUTF("hello,"+s.getInetAddress()+","+s.getPort());
				dos.flush();
				dos.close();
				s.close();
			}
		} catch (IOException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
	}
}
服务器与客户端所对应的流,服务器的OutputStream 对应客户端InputStream ,反过来也是。

二 .客户端发送信息到服务器
客户端MyClient.java
import java.io.*;
import java.net.*;
public class MyClient{
	public static void main(String[] args) throws Exception
	{
		Socket s=new Socket("127.0.0.1",6666);
		OutputStream op=s.getOutputStream();
		DataOutputStream ds= new DataOutputStream(op);
		ds.writeUTF("hehe");
		ds.flush();
		ds.close();
		s.close();
	}	


}
服务器的程序
MyServer.java
import java.io.*;
import java.net.*;
public class MyServer {
    public static void main(String[] args) throws Exception{
    	ServerSocket ss=new ServerSocket(6666);
    	while(true){
    		//连接了客户端,创建了一个socket
    		Socket s=ss.accept();
    		System.out.println("我们已经成功连接了客户端了");
    		//获取客户端信息
    		DataInputStream di=new DataInputStream(s.getInputStream());
    		System.out.println(di.readUTF());
    		di.close();
    		s.close();
    	}
    }
}
这是简单的菜鸟入门程序,仅供参考.......
此外,在运行的过程中,必须先运行服务器的程序才可以运行客户端的程序,因为服务器都没有启动,客户端怎么可以连上呢........如果显示的是连接的问题的话,一般是这个问题或者是端口没有对应..........

 

你可能感兴趣的:(socket)