一个简单的socket例子
2010-05-21 10:26
459 查看
首先定义好服务器端,并设定需要监听的端口。
public class MyServer {
public static void main(String args[]){
try {
ServerSocket server = new ServerSocket(8889);
Socket socket = server.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter write = new PrintWriter(socket.getOutputStream());
System.out.println(socket.getLocalAddress().toString());
System.out.println(socket.getPort());
while(true){
String str = reader.readLine();
System.out.println(str);
write.println("here receive...");
write.flush();
if("end".equals(str)){
break;
}
//write.close();
}
System.out.println("END...");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
其次是客户端,发出对定义好的服务器端口的请求。
public class MyClient {
Socket socket;
public MyClient(){
try {
socket = new Socket(InetAddress.getLocalHost(),8889);
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(socket.getOutputStream());
BufferedReader write = new BufferedReader(new InputStreamReader(System.in));
while(true){
String str= write.readLine();
out.println(str);
out.flush();
if("end".equals(str)){
break;
}
}
System.out.println(in.readLine());
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
}
}
public static void main(String args[]){
new MyClient();
}
}
如此这般,就完成了一次简单的socke请求。
public class MyServer {
public static void main(String args[]){
try {
ServerSocket server = new ServerSocket(8889);
Socket socket = server.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter write = new PrintWriter(socket.getOutputStream());
System.out.println(socket.getLocalAddress().toString());
System.out.println(socket.getPort());
while(true){
String str = reader.readLine();
System.out.println(str);
write.println("here receive...");
write.flush();
if("end".equals(str)){
break;
}
//write.close();
}
System.out.println("END...");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
其次是客户端,发出对定义好的服务器端口的请求。
public class MyClient {
Socket socket;
public MyClient(){
try {
socket = new Socket(InetAddress.getLocalHost(),8889);
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(socket.getOutputStream());
BufferedReader write = new BufferedReader(new InputStreamReader(System.in));
while(true){
String str= write.readLine();
out.println(str);
out.flush();
if("end".equals(str)){
break;
}
}
System.out.println(in.readLine());
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
}
}
public static void main(String args[]){
new MyClient();
}
}
如此这般,就完成了一次简单的socke请求。
相关文章推荐
- socket计划——一个简单的例子
- socket编程——一个简单的例子
- socket编程——一个简单的例子
- 一个简单socket的例子
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- 一个最简单的Socket通信例子
- socket编程——一个简单的例子
- 一个简单的socket例子
- [C++] Windows下的socket编程(这是一个简单的TCP/IP例子)
- socket编程---一个简单例子
- 一个简单的socket客户端和服务端的例子
- ServerSocket的一个简单例子,学习backlog参数的设置,即可以接受客户端的数量
- 一个最简单的socket通信的例子
- 【socket编程】一个简单的基于TCP的客户/服务端例子(vs2008)
- 一个关于linux socket的简单例子
- 【socket编程】一个简单的基于UDP的客户/服务端例子(vs2008)
- 一个简单的socket例子
- NodeJS+Express+Socket.io的一个简单例子
- win32 socket的一个简单的例子
- socket编程——一个简单的例子(转)