我在虚拟机上装RED HAT 9.0,想利用通过SOCKET实现windows 和linux 网络通信,windows端做服务器,linux端做客户端,服务器端用VB编写winsocket,客户端用C编写socket,但是不能实现连接。请大侠帮忙!
server:
Dim SendMsg As StringPrivate Sub Form_Load()         '初始化
Text1.Text = "192.168.1.113"
Text2.Text = "5000"
Winsock1.LocalPort = Text2.Text
Text3.Text = ""
Text4.Text = ""End SubPrivate Sub Command1_Click()    '监听按钮
Command1.Enabled = False
Command2.Enabled = True
Command3.Enabled = True
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Bind
Winsock1.ListenEnd Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) '建立连接If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
SendMsg = "You have connected to client!"
Winsock1.SendData SendMsgEnd SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)   '接收数据
Dim revData As String
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.GetData revDataIf Text3.Test = "" Then
   Text3.Text = revData
Else
   Text3.Text = Text3.Text & vbCrLf & "To Server" & revData
End If
  SendMsg = "Receive the string successfully!"
   Winsock1.SendData SendMsg
   
End SubPrivate Sub Command2_Click()   '发送按钮SendMsg = Text4.Text
Winsock1.SendData SendMsgEnd SubPrivate Sub Command3_Click()    '断开按钮
Winsock1.Close
Command1.Enabled = True
Command2.Enabled = False
Command3.Enabled = FalseEnd Sub

解决方案 »

  1.   

    问题的原因可能不是编程问题,而是网络设置问题,楼主要保证red hat linux与XP的IP属于同一个网段,可以相互ping一下进行检测,如果有一端不通,说明存在问题.
      

  2.   

    谢谢1楼:我刚才做了一下实验,两端可以连接上了,但是当client发送一个命令“GET”时,server报错,编译错误:未找到方法或数据成员!应该是接收那块程序有问题吧?
      

  3.   

    既然你想发送控制命令GET,说明你是想做一个FTP或HTTP程序,那么,在VB编的服务器端,你还需要提供这些命令。因为winsock只完成了IP层的连接,而FTP和HTTP属于应用层,需要使用winsock进行进一步的编码。
      

  4.   

    你好,我想做的是client先向server发GET命令,然后server端收到GET 以后,向client发数据,client 接收到数据后,显示数据并向Server返回success,server端接收到success关闭连接。编写程序时命令GET以字符串形式发送的。这样对吗?
      

  5.   

    你好,我想做的是client先向server发GET命令,然后server端收到GET 以后,向client发数据,client 接收到数据后,显示数据并向Server返回success,server端接收到success关闭连接。编写程序时命令GET以字符串形式发送的。这样对吗?
      

  6.   

    你需要注意的是你用来表示响应及答复的关键字如GET/success等,尽量避免在数据体中出现.
      

  7.   

    两端可以连接上,但是当client发送一个命令“GET”时,server报错,编译错误:未找到方法或数据成员!应该是接收那块程序有什么问题,我检查不出来?