纠结了一天的JAVA简单客户端服务器Socket编程终于解决了
2012-11-27 20:35
225 查看
闲着写了个简单java的socket编程,无语了,这么简单的程序都写不出来了,代码如下:
==================================================================================
Server(服务器端):
package remember;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server() {
try {
ss = new ServerSocket(33333);
System.out.println("========亲,服务器已经启动===========");
while (true) {
socket = ss.accept();
String RemoteIP = socket.getInetAddress().getHostName();
String RemotePort = "" + socket.getLocalPort();
System.out.println(RemoteIP+" "+ RemotePort);
out = new PrintWriter(socket.getOutputStream(), true);
out.print("消息已经收到了");
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
String line=in.readLine();
System.out.print(line);
in.close();
out.close();
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("wrong");
}
}
public static void main(String[] args) {
new Server();
}
}
Client(客户端):
package remember;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
private Socket socket;
private BufferedReader in;
private PrintWriter out; public Client() {
try {
System.out.println("Try to Connect to 127.0.0.1:33333"); socket = new Socket("127.0.0.1",33333);
System.out.println("The Server Connected!");
System.out.println("Please enter some Character:"); BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
out = new PrintWriter(socket.getOutputStream(),true); out.print(line.readLine());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(in.readLine()); out.close(); in.close();
socket.close();
}catch(IOException e) { out.println("Wrong");
} }
public static void main(String[] args) {
new Client();
} }
5555555555555555,以前也这样写的,怎么忘了啊。研究半天总结如下:
----------------------------------------------------------------------------------------------------------------------------------
服务端的PrintWriter一定要写成out.println,不能写成out.print。
客户端的PrintWriter可写成out.println也可以写成out.print(但如果写成out.print就只能发数据接收不到数据了)。
哎呀,纠结了半天,终于写好了。希望能帮到和我一样的人,所以就分享下,本人原创。
==================================================================================
Server(服务器端):
package remember;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server() {
try {
ss = new ServerSocket(33333);
System.out.println("========亲,服务器已经启动===========");
while (true) {
socket = ss.accept();
String RemoteIP = socket.getInetAddress().getHostName();
String RemotePort = "" + socket.getLocalPort();
System.out.println(RemoteIP+" "+ RemotePort);
out = new PrintWriter(socket.getOutputStream(), true);
out.print("消息已经收到了");
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
String line=in.readLine();
System.out.print(line);
in.close();
out.close();
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("wrong");
}
}
public static void main(String[] args) {
new Server();
}
}
Client(客户端):
package remember;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
private Socket socket;
private BufferedReader in;
private PrintWriter out; public Client() {
try {
System.out.println("Try to Connect to 127.0.0.1:33333"); socket = new Socket("127.0.0.1",33333);
System.out.println("The Server Connected!");
System.out.println("Please enter some Character:"); BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
out = new PrintWriter(socket.getOutputStream(),true); out.print(line.readLine());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(in.readLine()); out.close(); in.close();
socket.close();
}catch(IOException e) { out.println("Wrong");
} }
public static void main(String[] args) {
new Client();
} }
5555555555555555,以前也这样写的,怎么忘了啊。研究半天总结如下:
----------------------------------------------------------------------------------------------------------------------------------
服务端的PrintWriter一定要写成out.println,不能写成out.print。
客户端的PrintWriter可写成out.println也可以写成out.print(但如果写成out.print就只能发数据接收不到数据了)。
哎呀,纠结了半天,终于写好了。希望能帮到和我一样的人,所以就分享下,本人原创。
相关文章推荐
- 最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
- 最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
- 最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
- 最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
- java网络编程之服务端客户端socket简单通信案例
- java网络编程——Socket和ServerSocket,套接字编程——简单聊天室改进
- [Socket编程] 用Java实现简单的服务器
- java TCPSocket编程 简单示例3
- Java网络编程之简单Socket和ServerSocket
- JAVA Socket编程学习10--解决TCP粘包分包问题
- android socket简单编程(java在PC本地创建服务器)
- 烂泥:纠结一天的zencart网站问题,终于解决了
- JAVA 网络编程(5) SOCKET UDP 单播和组播,以及组播其他机器收不到报文的解决方法
- java网络编程一:Socket用法,简单模拟一对一聊天
- 【java编程】Socket编程之UDP模拟简单聊天功能
- 简单socket编程,传输文件,JAVA
- Socket编程+Google Protocol搭建简单的客户端服务器方式1
- java基于TCP的socket编程简单实现[代码实践过]
- [Java] 【源码】新手初探java网络编程——socket接口实现简单的客户机/服务器程序
- java网络编程一:Socket用法,简单模拟一对一聊天