java Socket编程基础
最简单的服务器接受单用户请求的socket编程模型,代码写得不好,只是用来阐明意思
client side
import java.net.*;
import java.util.*;
import java.io.*;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
Socket clientSocket=new Socket("localhost",9009);//connect
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),true);
Scanner scanner=new Scanner(System.in);
System.out.print("username:");
String username=scanner.next();
System.out.print("password:");
String password=scanner.next();
out.println(username+" "+password);
String input;
while(true)
{
input=in.readLine();
if(input.equals("ok"))
{
System.out.println("message sent, cilent exit");
break;
}
}
in.close();
out.close();
clientSocket.close();
}
catch(Exception e)
{
System.err.println(e.getMessage());
}
}
}
server side
import java.net.*;
import java.io.*;
//import java.util.*;
public class Server {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
ServerSocket serverSocket=new ServerSocket(9009);//listen 9008 port
//while(true)
//{
System.out.println("waiting for connecting");
Socket socket=serverSocket.accept();//create a socket to communicate
System.out.println("connected");
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(),true);
String line;
while(true)
{
line = in.readLine();
if(line!=null)
{
break;
}
}
System.out.println("client said:" + line);
out.println("ok");
out.close();
i
相关文档:
文章:Java和.NET两个世界的极点:赚钱和娱乐
作者 霍泰稳 发布于 2007年7月16日 上午3时4分
社区 .NET, Java 主题 Java+.NET集成, 互操作, 故事和案例分析 标签 SQL Server 2005, Spring框架
直到现在,在很多开发者社区里你都还能看到关于Java和.NET那个好,哪个容易学,哪个更有前景的讨论。其实这些争论严格来说, ......
1、编写一个简单的文本编辑器,要求:具有打开、保存、新建,粘贴、复制等功能;具有一个工具条。
1.1、程序源码(参见menu.java):
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.URL;
public class menu extends JFrame impl ......
首先,强烈推荐你先参考Sun官方的Java代码/编程规范:
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
你可以打破以上的任一规则,不过一定要有个好理由,并且记录下来。
永远,永远,永远不要在没有记录堆栈跟踪信息(stack trace)或是重新抛出异常的情况下捕获异常,俗称“吃掉异常&rd ......
为寻求java代码的性能优化,从网上搜到利用final关键字进行编译时inline优化的方法,但是真的有效吗?实际测试中发现未必,甚至性能影响巨大,最终放弃了使用final优化的想法。
测试环境:Windows XP SP2,JDK 1.6.0_15-b03,Eclipse 3.5 SR1。
package test;
public class Test {
public static void main(St ......